3 ms·
That sounds ..wrong. what about the C++ standard library? Neither vector or sort sounds like that?
by CJefferson 9y ago
That sounds ..wrong. what about the C++ standard library? Neither vector or sort sounds like that?
- yorwba 9y agoThose > can be instantiated a finite number of times and then used like non-templated code. So you have a C++ file that uses vector<int>, vector<struct c_struct>, vector<CppClass>, vector<DClass>, etc. once and then you can link to them from D code. The only case where that doesn't work is when you have lots of one-off instantiations, where requiring an instantiation in C++ code for each use in D would get annoying quickly.
- amelius 9y agoDoes the D compiler know how to mangle/demangle C++ names? Do you have to write some kind of D header file for foreign C++ functions? Otherwise, how would D even know about the existence of e.g. vector<int>::push?
- biotronic 9y agohttps://dlang.org/spec/cpp_interface.html#cpp-templates https://dlang.org/spec/cpp_interface.html#cpp-templates You will need to recreate the C++ function definitions in D and mark them extern(C++), but that's about it.
- pzone 9y agoThose parts of the C++ standard library are header-only and will be instantiated with concrete types at compile-time.