Calypso: Direct and full interfacing to C++

Elie Morisse via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Feb 9 14:24:47 PST 2015


On Monday, 9 February 2015 at 04:27:06 UTC, Kelly wrote:
>> Thanks, just got that tangled mess of templates that is 
>> std::string working too:
>
> Hey Elie, this is great stuff, as usual. I have written a test 
> file for bitset here also (including a couple failures I am 
> sure you are aware of, but others might want to see what works 
> and what doesn't).
>


Hi Kelly,

Good to see bitset instantiating and basically working too! Can I 
add your code to the tests?

So yes to clear things up a bit, operators are still missing and 
so are many other features. Off the top of my head:

  - Function templates => the groundwork is here, they're already 
mapped and it
shouldn't be too difficult to get them instantiating from D
  - Operators => probably easy to add although there might be 
differences between C++ and D operators
  - Functions with class values parameters aren't even mapped yet, 
since I haven't made my mind on how to handle class values. 
Despite the "POD or not" issue it still feels more consistent to 
treat C++ classes like D classes, while adding C++ class value 
types to DMD's types like C++ reference types were with 
TypeReference (which makes C++ variables with reference types 
usable but which can't be assigned as the types of D variables)
  - C++ reference types are supported by DMD but not by LDC yet, 
they only work for function parameters and return types since 
Calypso replace them by "ref"


More information about the Digitalmars-d-announce mailing list