Made the library C++ firendly