On Mon, Feb 15, 2010 at 1:30 PM, peoro <peoro.n...@gmail.com> wrote: > On Sun, Feb 14, 2010 at 8:39 PM, Roman Yakovenko >> Can you create small and complete example? ( C++ code, Py++ script and >> Py++ generated code )? >> >> Thanks >> > > Sure: > > ##### main.cpp > #include <set> > std::set<int> f( ) { > return std::set<int>(); > } > > ##### export.py > import os > from pyplusplus import module_builder > here = os.path.abspath( r"." ) > mb = module_builder.module_builder_t( [here + r"/main.cpp"], > working_directory=here, indexing_suite_version=2 ) > mb.build_code_creator( module_name='set_test_len' ) > mb.write_module( here + r'/bindings.cpp' ) > > ##### set_test_len.py > from set_test_len import * > x = f() > len( x ) >
Look, I am not sure what is going wrong. I verified the example you gave and it works as expected( http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1825&view=rev ) The functionality you are talking about is pretty fundamental and used in other projects too. The following is the code generated by Py++ to expose std::set<int>: { //::std::set< int > typedef bp::class_< std::set< int > > set_less__int__greater__exposer_t; set_less__int__greater__exposer_t set_less__int__greater__exposer = set_less__int__greater__exposer_t( "set_less__int__greater_", "documentation" ); bp::scope set_less__int__greater__scope( set_less__int__greater__exposer ); set_less__int__greater__exposer.def( bp::indexing::set_suite< std::set< int > >() ); } Does your generated code look the same? -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig