On 06/04/2013 01:12 PM, John Reid wrote:
Inner classes seem to be given the wrong name or perhaps this is by
design. Could someone enlighten me? If I do:
namespace py = boost::python;
py::class_< T > outer( "Outer" );
py::scope( outer );
py::class_< U > inner( "Inner" );
then in python:
import module as M
print M.Outer.Inner
gives "M.Inner" which doesn't exist. I'm not sure it is important, it
just seems curious.
I agree that it's curious, but Python has never really handled inner
classes terribly well; Boost.Python's behavior in this respect is the
same as pure Python:
class Outer(object):
class Inner(object):
pass
print Outer.Inner
gives "__main__.Inner"
Jim
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig