- Also raises an exception on parse error.
- Removes placeholder smoketest.
- Adds docstrings.
Fix lint and remove lambda decay.
Thanks - I started doing that then second guessed thinking that was just Google style (too many style switches recently).
It is just the unary plus but the effect is subtle: It causes an explicit decay of a (non capturing) C++ closure to a raw function pointer.
Here is a good explanation: https://stackoverflow.com/questions/18889028/a-positive-lambda-what-sorcery-is-this
I just checked that it is not required in this case and removed it (there might be a compiler version dependency: I remember that on older compilers we had to use this idiom frequently when bridging C/C++ callbacks on prior projects).