Comment on COM+ RevisitedComments−jbandela14yA few years back, I wanted to see what you could do if you really used modern C++ with the COM principles. This is what I came up with:https://github.com/jbandela/cppcomponents* There is no code generation or IDL files* Components implement IUnknown* You can have Constructors and static functions for C++ classes.* You can take std::vector, std::string, std::tuple as parameters and return them (even if you are using different compilers and standard libraries)* Cross-platform−enqk4yHow do you address ABI issues with standard C++ library types?−jbandela14yBy using template meta-programming to have thunks that translate between the types.
Comments
A few years back, I wanted to see what you could do if you really used modern C++ with the COM principles. This is what I came up with:
https://github.com/jbandela/cppcomponents
* There is no code generation or IDL files
* Components implement IUnknown
* You can have Constructors and static functions for C++ classes.
* You can take std::vector, std::string, std::tuple as parameters and return them (even if you are using different compilers and standard libraries)
* Cross-platform
How do you address ABI issues with standard C++ library types?
By using template meta-programming to have thunks that translate between the types.