[pygccxml-commit] SF.net SVN: pygccxml: [690] pyplusplus_dev/pyplusplus
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-10-27 23:02:23
|
Revision: 690 http://svn.sourceforge.net/pygccxml/?rev=690&view=rev Author: roman_yakovenko Date: 2006-10-27 16:02:12 -0700 (Fri, 27 Oct 2006) Log Message: ----------- adding support for multimap adding few message why function\variable is not exported Modified Paths: -------------- pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite2.py pyplusplus_dev/pyplusplus/decl_wrappers/variable_wrapper.py pyplusplus_dev/pyplusplus/module_creator/creator.py Modified: pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py 2006-10-27 22:58:40 UTC (rev 689) +++ pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py 2006-10-27 23:02:12 UTC (rev 690) @@ -91,7 +91,11 @@ answer.append( '%s.def( ' % self.parent.class_var_name) else: answer.append( 'def( ' ) - answer.append( algorithm.create_identifier(self, "::boost::python::indexing::container_suite" ) ) + bpi = algorithm.create_identifier(self, "::boost::python::indexing" ) + if self.declaration.indexing_suite.use_container_suite: + answer.append( bpi + '::container_suite' ) + else: + answer.append( bpi + '::' + self.declaration.name.split( '<' )[0] + '_suite' ) answer.append( '< ' ) answer.append( self.decl_identifier ) if self.does_user_disable_methods(): Modified: pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py 2006-10-27 22:58:40 UTC (rev 689) +++ pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py 2006-10-27 23:02:12 UTC (rev 690) @@ -197,7 +197,11 @@ , doc="boolean, if True, will use BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS macro to expose declarations" \ +"Default value is False.") - + def _exportable_impl_derived(self): + if self.access_type == declarations.ACCESS_TYPES.PRIVATE \ + and self.virtuality == declarations.VIRTUALITY_TYPES.NOT_VIRTUAL: + return "Py++ doesn't export private not virtual functions." + return '' class constructor_t( declarations.constructor_t, calldef_t ): """defines a set of properties, that will instruct Py++ how to expose the constructor""" def __init__(self, *arguments, **keywords): @@ -216,6 +220,8 @@ def _exportable_impl_derived( self ): if self.is_artificial: return 'Py++ does not exports compiler generated constructors' + if self.access_type == declarations.ACCESS_TYPES.PRIVATE: + return "Py++ doesn't export private constructor." return '' def does_define_implicit_conversion( self ): @@ -304,6 +310,9 @@ , doc="Gives right alias for operator()( __call__ ) and operator[]( __getitem__ )" ) def _exportable_impl_derived( self ): + if self.access_type == declarations.ACCESS_TYPES.PRIVATE \ + and self.virtuality == declarations.VIRTUALITY_TYPES.NOT_VIRTUAL: + return "Py++ doesn't export private operators." return operators_helper.exportable( self ) Modified: pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite2.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite2.py 2006-10-27 22:58:40 UTC (rev 689) +++ pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite2.py 2006-10-27 23:02:12 UTC (rev 690) @@ -62,7 +62,14 @@ self._disabled_methods = set() self._disabled_groups = set() self._default_applied = False + self._use_container_suite = False + def get_use_container_suite( self ): + return self._use_container_suite + def set_use_container_suite( self, value ): + self._use_container_suite = value + use_container_suite = property( get_use_container_suite, set_use_container_suite ) + def _get_container_class( self ): return self.__container_class container_class = property( _get_container_class Modified: pyplusplus_dev/pyplusplus/decl_wrappers/variable_wrapper.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/variable_wrapper.py 2006-10-27 22:58:40 UTC (rev 689) +++ pyplusplus_dev/pyplusplus/decl_wrappers/variable_wrapper.py 2006-10-27 23:02:12 UTC (rev 690) @@ -65,4 +65,7 @@ cls = declarations.class_traits.get_declaration( type_ ) if not cls.name: return "Py++ can not expose variables of with unnamed type." + if isinstance( self.parent, declarations.class_t ): + if self.access_type != declarations.ACCESS_TYPES.PUBLIC: + return "Py++ doesn't expose private or protected member variables." return '' Modified: pyplusplus_dev/pyplusplus/module_creator/creator.py =================================================================== --- pyplusplus_dev/pyplusplus/module_creator/creator.py 2006-10-27 22:58:40 UTC (rev 689) +++ pyplusplus_dev/pyplusplus/module_creator/creator.py 2006-10-27 23:02:12 UTC (rev 690) @@ -37,6 +37,7 @@ , 'deque<' : "boost/python/suite/indexing/deque.hpp" , 'list<' : "boost/python/suite/indexing/list.hpp" , 'map<' : "boost/python/suite/indexing/map.hpp" + , 'multimap<' : "boost/python/suite/indexing/multimap.hpp" , 'hash_map<' : "boost/python/suite/indexing/map.hpp" , 'set<' : "boost/python/suite/indexing/set.hpp" , 'hash_set<' : "boost/python/suite/indexing/set.hpp" @@ -52,6 +53,10 @@ , 'Py++, by default, does not expose compiler generated declarations.' , 'Py++ can not expose private class.' , 'Py++ will generate class wrapper - class contains definition of virtual or pure virtual member function' + , "Py++ doesn't expose private or protected member variables." + , "Py++ doesn't export private not virtual functions." + , "Py++ doesn't export private constructor." + , "Py++ doesn't export private operators." ] class creator_t( declarations.decl_visitor_t ): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |