[pygccxml-development] partial decl string of a template
Brought to you by:
mbaas,
roman_yakovenko
From: Babak K. <bab...@gm...> - 2011-07-05 11:28:53
|
Hi, I'm in the process of creating a binding for a third party library using py++ but have encountered a problem whereby the partial_decl_string of function argument seems incorrect. The function full declaration string is... 'void ( *test_function_type )( ::__gnu_cxx::__normal_iterator<Imath::Vec3<int> const*, std::vector<Imath::Vec3<int>, std::allocator<Imath::Vec3<int> > > > &,::std::vector<Imath::Vec3<int>, std::allocator<Imath::Vec3<int> > > & )' while the partial declaration string is 'void ( *test_function_type )( ::__gnu_cxx::__normal_iterator< Imath::Vec3< int >, std::vector< Imath::Vec3<int> > > &,::std::vector< Imath::Vec3<int> > & )' note that the const* from the first argument is gone. Is this the correct behaviour ? The generated cpp code seems to use the partial_decl_string and does not compile. I think this is because of the missing const*, which is being lost in the function pygccxml.declarations.class_declaration.get_partial_name. from pygccxml.declarations import class_declaration name = "'__normal_iterator<Imath::Vec3<int> const*, std::vector<Imath::Vec3<int>, std::allocator<Imath::Vec3<int> > > >" print class_delaration.get_partial_name(name) >>> '__normal_iterator< Imath::Vec3< int >, std::vector< Imath::Vec3<int> > >' Is there anyway to use decl_string instead of the partial one when generating the code ? thanks alot, Babak |