Add __cplusplus extern block.
Add documentation.