symmetryinvestments / autowrap

Wrap existing D code for use in Python, Excel, C#
BSD 3-Clause "New" or "Revised" License
80 stars 16 forks source link

let wrapAggregate can use specific identifier #269

Open imzhaodong opened 3 years ago

imzhaodong commented 3 years ago

I'm talking about autowrap based on PyD in this case. And I suggest we enable we can specify identifier name for aggregate being wrapped.

Here is an example. We need to wrap a type which is a template.

template struct S(T)
{
  T value;
}
wrapAggregate(S!A);
wrapAggregate(S!B);

This will end with both instance in Python has same python name which is "S" and cause confliction.

I have checked the PyD implementation. PyD function wrap_class can take optional parameter PyName!"FooBar". Maybe we can dispose this to autowrap as well using optional parameters?

atilaneves commented 3 years ago

The way to go would probably be using a UDA. Otherwise, manually wrapping with pyd is a workaround.

imzhaodong commented 3 years ago

Understand.

I currently manually wrapped a few class using PyD as workaround.