> If this is not possible, such variants don't look very useful in > general for SS. > > My possible answers: > - "Value" types only can be better than nothing, because such variants > can be used to make mixed dicts, those mixed lists, etc. Some > functionality reduction is better than an even bigger functionality > reduction. > - Maybe the boost::variant sourcecode can be modified to allow such > functionality too, or part of it. But this may require a LOT of work on > the C++ implementation (Mark's idea: maybe a better solution would be > to fall back to CPython classes somehow to implement variants...). > - Maybe someone here can suggest some other variant type, or some other > solution.
The problem is that C++ has no means of a dynamic method invocation. So I guess the only thing that helps is to use some variant that has a PyObject-type, and where calls on values of that type are basically translated to python C-Api calls, delegating the execution to python itself. Problem: return types aren't known - either handle them as PyObjects, or have some cast/hinting in place that reduces them to known native types like uniform lists. my .2รง Diez -- http://mail.python.org/mailman/listinfo/python-list