On Thursday, 30 May 2013 at 17:29:42 UTC, Timothee Cour wrote:
We need to support different C++ name mangling schemes.
Right, that's fairly straightforward to implement, we could
probably use a UDA to change it (@VisualCpp void foo()) or choose
the most sane default with version(Windows), version(GDC), etc.
Also the next step would be:
mixin(importCPP("myheader.h"));
You know I was actually thinking about that. Either using a dummy
D class and going over it to build the C++ object:
class Test_Cpp {
int num;
int num2;
void talk();
final void sayHi(); // or whatever i dont have the file open
right now
}
alias AccessCpp!Test_Cpp Test; // AccessCPP parses it into the
equivalent c++ definitions then builds out the structs and mangle
schemes
Or reading the .h file like you said. Which would be pretty hard,
even to do just partially, since the C++ definition might have
inline definitions, #includes, macros and so on that just totally
confuse the parser.