To add to Stefan's answer:

I do the the same and also use visitors to add the same sets of members to
classes, with possible customizations via trait classes.

HTH


On Wed, Mar 19, 2014 at 1:36 PM, Stefan Seefeld <ste...@seefeld.name> wrote:

> Francesco,
>
> I have done something like what you are suggesting. It essentially boils
> down to defining a function template like
>
> template <typename T>
> void define_vector(char const *name)
> {
>    class_<...> vector(name);
>   ...
> }
>
>
> and then calling that multiple times:
>
>   define_vector<int>("IVector");
>   define_vector<long>("LVector");
>   ...
>
> Providing a factory function that instantiates one of those based on a
> value-type selector as you want can be easily done on the Python side.
>
> I don't think this can be automated any further. In particular, it is
> clear that any type you may want to instantiate in Python has to be
> compiled explicitly into the extension module. I.e., you need to
> explicitly instantiate the templates above, by explicitly calling the
> functions for the types you want to see supported at runtime. There is
> no JIT compilation for this.
>
>     Stefan
>
> --
>
>       ...ich hab' noch einen Koffer in Berlin...
>
> _______________________________________________
> Cplusplus-sig mailing list
> Cplusplus-sig@python.org
> https://mail.python.org/mailman/listinfo/cplusplus-sig
>
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
https://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to