[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.
|