ffig
ffig copied to clipboard
Generate code to call C++ libraries from other languages
We will need to be able to decompose `std::optional` into `std::optional` (to dispatch to the appropriate customisation point) and `T` (for type-specific logic). libclang provides this information, so we need...
Language generators currently fall into three categories: - pure templated generators, which use the base generator impl. to render a single template - python templated generators, which select the generator...
C++ functions returning objects by value should be represented by a C-API function that returns a `void*`. The object will need `std::move`ing to the heap in order to do this....
FFIG should be able to use headers and link to libraries from the cmake module. ``` ffig_add_library(NAME Shape INPUTS tests/input/Shape.h LINK ) ``` should add a link dependency upon the...
dotnet tests take considerably longer than any others (including Java). This seems odd and should be at least understood if not amended. ``` Test project /Users/jon/DEV/FFIG/build Start 1: test_cppmodel 1/15...
Travis CI runs too old a version of macOS for the dotnet bindings from homebrew to work. Once Travis CI supports the latest macOS this issue can be easily fixed...
ffig/templates/java.tmpl handles different names for libraries using jinja2 templates. This is not desirable, handling should be done in code as is done for Python bindings in ffig/templates/config.py.tmpl
GitHub lists community requirements on https://github.com/FFIG/ffig/community. We do not have all the things they suggest.
Given the C++ type: ```C++ struct Data { std::string x; int y; std::vector z; }; ``` Generate a .proto file including (assuming 64 bit): ```proto message Data { required string...