pygccxml-commit Mailing List for C++ Python language bindings (Page 27)
Brought to you by:
mbaas,
roman_yakovenko
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(190) |
Apr
(166) |
May
(170) |
Jun
(75) |
Jul
(105) |
Aug
(131) |
Sep
(99) |
Oct
(84) |
Nov
(67) |
Dec
(54) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(66) |
Feb
(49) |
Mar
(25) |
Apr
(62) |
May
(21) |
Jun
(34) |
Jul
(9) |
Aug
(21) |
Sep
(5) |
Oct
|
Nov
(63) |
Dec
(34) |
2008 |
Jan
(10) |
Feb
(42) |
Mar
(26) |
Apr
(25) |
May
(6) |
Jun
(40) |
Jul
(18) |
Aug
(29) |
Sep
(6) |
Oct
(32) |
Nov
(14) |
Dec
(56) |
2009 |
Jan
(127) |
Feb
(52) |
Mar
(2) |
Apr
(10) |
May
(29) |
Jun
(3) |
Jul
|
Aug
(16) |
Sep
(4) |
Oct
(11) |
Nov
(8) |
Dec
(14) |
2010 |
Jan
(31) |
Feb
(1) |
Mar
(7) |
Apr
(9) |
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
(8) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <rom...@us...> - 2007-12-24 19:19:40
|
Revision: 1209 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1209&view=rev Author: roman_yakovenko Date: 2007-12-24 11:17:09 -0800 (Mon, 24 Dec 2007) Log Message: ----------- switching from "name" to "partial_name" for better code generation Modified Paths: -------------- pyplusplus_dev/pyplusplus/code_creators/calldef.py pyplusplus_dev/pyplusplus/code_creators/class_declaration.py pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py pyplusplus_dev/unittests/ogre_generate_tester.py Modified: pyplusplus_dev/pyplusplus/code_creators/calldef.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-12-24 15:34:46 UTC (rev 1208) +++ pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-12-24 19:17:09 UTC (rev 1209) @@ -300,11 +300,16 @@ result = [] ftype = self.declaration.function_type() - result.append( 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias ) ) + result.append( 'typedef %s;' + % ftype.create_typedef( self.function_type_alias + , exported_class_alias + , with_defaults=False) ) if self.wrapper: result.append( os.linesep ) ftype = self.wrapper.function_type() - result.append( 'typedef %s;' % ftype.create_typedef( self.default_function_type_alias ) ) + result.append( 'typedef %s;' + % ftype.create_typedef( self.default_function_type_alias + , with_defaults=False) ) return ''.join( result ) def create_doc(self): @@ -362,7 +367,7 @@ return template % { 'virtual' : virtual - , 'return_type' : self.declaration.return_type.decl_string + , 'return_type' : self.declaration.return_type.partial_decl_string , 'name' : name , 'args' : self.args_declaration() , 'constness' : constness @@ -386,7 +391,7 @@ return template % { 'override' : self.override_identifier() - , 'name' : self.declaration.name + , 'name' : self.declaration.partial_name , 'alias' : self.declaration.alias , 'return_' : return_ , 'args' : self.function_call_args() @@ -394,7 +399,7 @@ } def create_default_body(self): - function_call = declarations.call_invocation.join( self.declaration.name + function_call = declarations.call_invocation.join( self.declaration.partial_name , [ self.function_call_args() ] ) body = self.wrapped_class_identifier() + '::' + function_call + ';' if not declarations.is_void( self.declaration.return_type ): @@ -406,7 +411,7 @@ def create_function(self): - answer = [ self.create_declaration(self.declaration.name) + '{' ] + answer = [ self.create_declaration(self.declaration.partial_name) + '{' ] answer.append( self.indent( self.create_virtual_body() ) ) answer.append( '}' ) return os.linesep.join( answer ) @@ -430,7 +435,7 @@ def create_function_type_alias_code( self, exported_class_alias=None ): ftype = self.wrapper.function_type() - return 'typedef ' + ftype.create_typedef( self.function_type_alias ) + ';' + return 'typedef ' + ftype.create_typedef( self.function_type_alias, with_defaults=False ) + ';' def create_function_ref_code(self, use_function_alias=False): if use_function_alias: @@ -447,7 +452,7 @@ calldef_wrapper_t.__init__( self, function=function ) def full_name(self): - return '::'.join( [self.parent.full_name, self.declaration.name] ) + return '::'.join( [self.parent.full_name, self.declaration.partial_name] ) def function_type(self): return declarations.member_function_type_t( @@ -464,7 +469,7 @@ constness = ' const ' return template % { - 'return_type' : self.declaration.return_type.decl_string + 'return_type' : self.declaration.return_type.partial_decl_string , 'name' : name , 'args' : self.args_declaration() , 'constness' : constness @@ -479,14 +484,14 @@ return_ = 'return ' return tmpl % { - 'name' : self.declaration.name + 'name' : self.declaration.partial_name , 'return_' : return_ , 'args' : self.function_call_args() , 'wrapped_class' : self.wrapped_class_identifier() } def create_function(self): - answer = [ self.create_declaration(self.declaration.name) + '{' ] + answer = [ self.create_declaration(self.declaration.partial_name) + '{' ] answer.append( self.indent( self.create_body() ) ) answer.append( '}' ) return os.linesep.join( answer ) @@ -502,7 +507,7 @@ def create_function_type_alias_code( self, exported_class_alias=None ): ftype = self.wrapper.function_type() - return 'typedef %s;' % ftype.create_typedef( self.function_type_alias ) + return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, with_defaults=False ) def create_function_ref_code(self, use_function_alias=False): if use_function_alias: @@ -510,7 +515,7 @@ % ( self.function_type_alias, self.wrapper.full_name() ) elif self.declaration.create_with_signature: return '(%s)(&%s)' \ - % ( self.wrapper.function_type().decl_string, self.wrapper.full_name() ) + % ( self.wrapper.function_type().partial_decl_string, self.wrapper.full_name() ) else: return '&%s' % self.wrapper.full_name() @@ -530,7 +535,7 @@ template = 'static %(return_type)s %(name)s( %(args)s )%(throw)s' return template % { - 'return_type' : self.declaration.return_type.decl_string + 'return_type' : self.declaration.return_type.partial_decl_string , 'name' : name , 'args' : self.args_declaration() , 'throw' : self.throw_specifier_code() @@ -565,7 +570,7 @@ def create_function_type_alias_code( self, exported_class_alias=None ): ftype = self.wrapper.function_type() - return 'typedef %s;' % ftype.create_typedef( self.function_type_alias ) + return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, with_defaults=False ) def create_function_ref_code(self, use_function_alias=False): if use_function_alias: @@ -573,7 +578,7 @@ % ( self.function_type_alias, self.wrapper.full_name() ) elif self.declaration.create_with_signature: return '(%s)(&%s)' \ - % ( self.wrapper.function_type().decl_string, self.wrapper.full_name() ) + % ( self.wrapper.function_type().partial_decl_string, self.wrapper.full_name() ) else: return '&%s' % self.wrapper.full_name() @@ -599,7 +604,7 @@ constness = ' const ' return template % { - 'return_type' : self.declaration.return_type.decl_string + 'return_type' : self.declaration.return_type.partial_decl_string , 'name' : name , 'args' : self.args_declaration() , 'constness' : constness @@ -625,7 +630,7 @@ return template % { 'override' : self.override_identifier() - , 'name' : self.declaration.name + , 'name' : self.declaration.partial_name , 'alias' : self.declaration.alias , 'return_' : return_ , 'args' : self.function_call_args() @@ -633,7 +638,7 @@ } def create_function(self): - answer = [ self.create_declaration(self.declaration.name) + '{' ] + answer = [ self.create_declaration(self.declaration.partial_name) + '{' ] answer.append( self.indent( self.create_virtual_body() ) ) answer.append( '}' ) return os.linesep.join( answer ) @@ -647,7 +652,7 @@ def create_function_type_alias_code( self, exported_class_alias=None ): ftype = self.wrapper.function_type() - return 'typedef %s;' % ftype.create_typedef( self.function_type_alias ) + return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, with_defaults=False ) def create_function_ref_code(self, use_function_alias=False): if use_function_alias: @@ -655,7 +660,7 @@ % ( self.function_type_alias, self.wrapper.full_name() ) elif self.declaration.create_with_signature: return '(%s)(&%s)' \ - % ( self.wrapper.function_type().decl_string, self.wrapper.full_name() ) + % ( self.wrapper.function_type().partial_decl_string, self.wrapper.full_name() ) else: return '&%s' % self.wrapper.full_name() @@ -664,7 +669,7 @@ calldef_wrapper_t.__init__( self, function=function ) def full_name(self): - return self.parent.full_name + '::' + self.declaration.name + return self.parent.full_name + '::' + self.declaration.partial_name def function_type(self): return declarations.member_function_type_t( @@ -681,7 +686,7 @@ constness = ' const ' return template % { - 'return_type' : self.declaration.return_type.decl_string + 'return_type' : self.declaration.return_type.partial_decl_string , 'name' : self.declaration.name , 'args' : self.args_declaration() , 'constness' : constness @@ -724,7 +729,7 @@ calldef_wrapper_t.__init__( self, function=function ) def full_name(self): - return self.parent.full_name + '::' + self.declaration.name + return self.parent.full_name + '::' + self.declaration.partial_name def function_type(self): return declarations.member_function_type_t( @@ -741,7 +746,7 @@ constness = ' const ' return template % { - 'return_type' : self.declaration.return_type.decl_string + 'return_type' : self.declaration.return_type.partial_decl_string , 'name' : self.declaration.name , 'args' : self.args_declaration() , 'constness' : constness @@ -1001,7 +1006,7 @@ x = declarations.remove_reference( type ) x = declarations.remove_cv( x ) other = algorithm.create_identifier( self, '::boost::python::other' ) - type_ = algorithm.create_identifier( self, x.decl_string ) + type_ = algorithm.create_identifier( self, x.partial_decl_string ) return declarations.templates.join( other, [ type_ ] ) + '()' def _findout_self_position(self): @@ -1077,11 +1082,11 @@ def _create_impl(self): #TODO add comment in case of non const operator implicitly_convertible = algorithm.create_identifier( self, '::boost::python::implicitly_convertible' ) - from_arg = algorithm.create_identifier( self - , declarations.full_name( self.declaration.parent ) ) + from_name = declarations.full_name( self.declaration.parent, with_defaults=False ) + from_arg = algorithm.create_identifier( self, from_name ) to_arg = algorithm.create_identifier( self - , self.declaration.return_type.decl_string ) + , self.declaration.return_type.partial_decl_string ) return declarations.templates.join(implicitly_convertible , [ from_arg , to_arg ] ) \ + '();' @@ -1102,10 +1107,9 @@ def _create_impl(self): template = 'def( "%(function_name)s", &%(class_name)s::operator %(destination_type)s %(call_policies)s%(doc)s )' + p_name = declarations.full_name( self.declaration.parent, with_defaults=False ) + class_name = algorithm.create_identifier( self, p_name ) - class_name = algorithm.create_identifier( self - , declarations.full_name( self.declaration.parent ) ) - policies = '' if self.declaration.call_policies: if not self.declaration.call_policies.is_default(): @@ -1119,7 +1123,7 @@ return template % { 'function_name' : self.declaration.alias , 'class_name' : class_name - , 'destination_type' : self.declaration.return_type.decl_string + , 'destination_type' : self.declaration.return_type.partial_decl_string , 'call_policies' : policies , 'doc' : doc } @@ -1141,12 +1145,11 @@ def _create_impl(self): implicitly_convertible = algorithm.create_identifier( self, '::boost::python::implicitly_convertible' ) from_arg = algorithm.create_identifier( self - , self.declaration.arguments[0].type.decl_string) + , self.declaration.arguments[0].type.partial_decl_string) - to_arg = algorithm.create_identifier( self - , declarations.full_name( self.declaration.parent ) ) - return declarations.templates.join(implicitly_convertible - , [ from_arg , to_arg ] ) \ + to_name = declarations.full_name( self.declaration.parent, with_defaults=False ) + to_arg = algorithm.create_identifier( self, to_name ) + return declarations.templates.join(implicitly_convertible, [from_arg, to_arg ]) \ + '();' def _get_system_headers_impl( self ): Modified: pyplusplus_dev/pyplusplus/code_creators/class_declaration.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2007-12-24 15:34:46 UTC (rev 1208) +++ pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2007-12-24 19:17:09 UTC (rev 1209) @@ -347,7 +347,8 @@ self.declaration.wrapper_alias = walias wrapper_alias = property( _get_wrapper_alias, _set_wrapper_alias ) - def _get_base_wrappers( self ): + @property + def base_wrappers( self ): if self.declaration.is_abstract and not self._base_wrappers: bases = [ hi.related_class for hi in self.declaration.bases ] creators_before_me = algorithm.creators_affect_on_me( self ) @@ -356,17 +357,17 @@ and creator.declaration in bases , creators_before_me ) return self._base_wrappers - base_wrappers = property( _get_base_wrappers ) - def _get_exposed_identifier(self): - return algorithm.create_identifier( self, self.declaration.decl_string ) - exposed_identifier = property( _get_exposed_identifier ) + @property + def exposed_identifier(self): + return algorithm.create_identifier( self, self.declaration.partial_decl_string ) - def _get_class_creator(self): + @property + def class_creator(self): return self._class_creator - class_creator = property( _get_class_creator ) - def _get_full_name( self ): + @property + def full_name( self ): if not isinstance( self.parent, class_wrapper_t ): return self.declaration.wrapper_alias else: @@ -378,16 +379,15 @@ parent = parent.parent full_name.reverse() return '::'.join( full_name ) - full_name = property( _get_full_name ) - def _get_held_type(self): + @property + def held_type(self): return self._class_creator.held_type - held_type = property( _get_held_type ) - def _get_boost_wrapper_identifier(self): + @property + def boost_wrapper_identifier(self): boost_wrapper = algorithm.create_identifier( self, '::boost::python::wrapper' ) return declarations.templates.join( boost_wrapper, [self.exposed_identifier] ) - boost_wrapper_identifier = property( _get_boost_wrapper_identifier ) def _create_bases(self): return ', '.join( [self.exposed_identifier, self.boost_wrapper_identifier] ) Modified: pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py 2007-12-24 15:34:46 UTC (rev 1208) +++ pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py 2007-12-24 19:17:09 UTC (rev 1209) @@ -106,7 +106,7 @@ smart_ptr = property( _get_smart_ptr, _set_smart_ptr ) def _instantiate_smart_ptr( self, decl ): - identifier = algorithm.create_identifier( self, decl.decl_string ) + identifier = algorithm.create_identifier( self, decl.partial_decl_string ) return templates.join( self.smart_ptr, [identifier] ) def _create_impl(self): Modified: pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2007-12-24 15:34:46 UTC (rev 1208) +++ pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2007-12-24 19:17:09 UTC (rev 1209) @@ -177,7 +177,7 @@ self._redefine_operators = False self._held_type = None self._noncopyable = None - self._wrapper_alias = self._generate_valid_name() + "_wrapper" + self._wrapper_alias = self._generate_valid_name(self.partial_name) + "_wrapper" self._registration_code = [] self._declaration_code = [] self._wrapper_code = [] Modified: pyplusplus_dev/unittests/ogre_generate_tester.py =================================================================== --- pyplusplus_dev/unittests/ogre_generate_tester.py 2007-12-24 15:34:46 UTC (rev 1208) +++ pyplusplus_dev/unittests/ogre_generate_tester.py 2007-12-24 19:17:09 UTC (rev 1209) @@ -41,9 +41,9 @@ print declarations.full_name( y, with_defaults=False ) target_dir = os.path.join( autoconfig.build_directory, 'ogre' ) - if os.path.exists( target_dir ): - shutil.rmtree( target_dir ) - os.mkdir( target_dir ) + #~ if os.path.exists( target_dir ): + #~ shutil.rmtree( target_dir ) + #~ os.mkdir( target_dir ) mb.build_code_creator( 'Ogre3d' ) mb.split_module( target_dir ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-24 15:34:42
|
Revision: 1208 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1208&view=rev Author: roman_yakovenko Date: 2007-12-24 07:34:46 -0800 (Mon, 24 Dec 2007) Log Message: ----------- Added Paths: ----------- pygccxml_dev/docs/upgrade_issues.rest Added: pygccxml_dev/docs/upgrade_issues.rest =================================================================== --- pygccxml_dev/docs/upgrade_issues.rest (rev 0) +++ pygccxml_dev/docs/upgrade_issues.rest 2007-12-24 15:34:46 UTC (rev 1208) @@ -0,0 +1,224 @@ +================================= +GCC-XML 0.7 -> 0.9 upgrade issues +================================= + +.. contents:: Table of contents + +------------ +Introduction +------------ + +Recently, GCC-XML internal parser was updated to GCC 4.2. The internal representation +of source code, provided by GCC's parser, has changed a lot and few backward +compatibility issues were introduced. In this document, I will try to cover all +problems you may encounter. + + +------------------- +Default constructor +------------------- + +GCC-XML 0.9 doesn't report compiler generated default and copy constructors as +an implicit ones. + +If you rely havily on their existence in the generated XML, I suggest you to swith +to `type_traits.has_trivial_constructor`_/`type_traits.has_trivial_copy`_ functions. + +.. _`type_traits.has_trivial_constructor` : ./apidocs/pygccxml.declarations.type_traits-pysrc.html#has_trivial_constructor +.. _`type_traits.has_trivial_copy` : ./apidocs/pygccxml.declarations.type_traits-pysrc.html#has_trivial_copy + + +-------------------------- +Pointer to member variable +-------------------------- + +Previous version of GCC-XML reported pointer to member variable as a "PointerType" +with reference to "OffsetType". The new version removes "PointerType" from this sequence. + +C++ code: + +.. code-block:: C++ + + struct xyz_t{ + int do_smth( double ); + int m_some_member; + }; + + typedef int (xyz_t::*mfun_ptr_t)( double ); + + typedef int (xyz_t::*mvar_ptr_t); + +GCC-XML 0.7: + +.. code-block:: XML + + <Typedef id="_6" name="mfun_ptr_t" type="_5" /> + <PointerType id="_5" type="_128" size="32" align="32"/> + <MethodType id="_128" basetype="_7" returns="_136"> + <Argument type="_140"/> + </MethodType> + + <Typedef id="_4" name="mvar_ptr_t" type="_3" /> + <PointerType id="_3" type="_127" size="32" align="32"/> + <OffsetType id="_127" basetype="_7" type="_136" size="32" align="32"/> + +GCC-XML 0.9: + +.. code-block:: XML + + <Typedef id="_97" name="mfun_ptr_t" type="_96" /> + <PointerType id="_96" type="_147" size="32" align="32"/> + <MethodType id="_147" basetype="_92" returns="_131"> + <Argument type="_127"/> + </MethodType> + + <Typedef id="_52" name="mvar_ptr_t" type="_139" /> + <OffsetType id="_139" basetype="_92" type="_131" size="32" align="32"/> + +`pygccxml`_ handles this problem automatically, you don't have to change your code. + +----------------------- +Constant variable value +----------------------- + +GCC-XML 0.9 uses suffix to report the constant variable value + +For example: + +.. code-block:: C++ + + const long unsigned int initialized = 10122004; + +GCC-XML 0.9 will report the ``initialized`` value as ``10122004ul``, while GCC-XML +0.7 as ``10122004``. + +`pygccxml`_ handles this problem automatically, you don't have to change your code. + +------------------------------------------ +Free and member function default arguments +------------------------------------------ + +Both versions of GCC-XML have a few issues, related to default arguments. GCC-XML 0.9 +fixes some issues, but introduces another ones. Take a look on next examples: + +* + .. code-block:: C++ + + void fix_numeric( ull arg=(ull)-1 ); + + GCC-XML 0.7 + + .. code-block:: XML + + <Argument name="arg" type="_7" default="0xffffffffffffffff"/> + + + GCC-XML 0.9 + + .. code-block:: XML + + <Argument name="arg" type="_103" default="0xffffffffffffffffu"/> + +* + .. code-block:: C++ + + void fix_function_call( int i=calc( 1,2,3) ); + + GCC-XML 0.7 + + .. code-block:: XML + + <Argument name="i" type="_9" default="function_call::calc(int, int, int)(1, 2, 3)"/> + + + GCC-XML 0.9 + + .. code-block:: XML + + <Argument name="i" type="_34" default="function_call::calc(1, 2, 3)"/> + +* + .. code-block:: C++ + + void typedef__func( const typedef_::alias& position = typedef_::alias() ); + + GCC-XML 0.7 + + .. code-block:: XML + + <Argument name="position" type="_1458" default="alias()"/> + + + GCC-XML 0.9 + + .. code-block:: XML + + <Argument name="position" type="_1703" default="typedef_::original_name()"/> + +* + .. code-block:: C++ + + void typedef__func2( const typedef_::alias& position = alias() ); + + GCC-XML 0.7 + + .. code-block:: XML + + <Argument name="position" type="_1458" default="alias()"/> + + + GCC-XML 0.9 + + .. code-block:: XML + + <Argument name="position" type="_1703" default="typedef_::original_name()"/> + + +* + .. code-block:: C++ + + node* clone_tree( const std::vector<std::string> &types=std::vector<std::string>() ); + + GCC-XML 0.7 + + .. code-block:: XML + + <Argument name="types" type="_3336" default="vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >((&allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >()))"/> + + + GCC-XML 0.9 + + .. code-block:: XML + + <Argument name="types" type="_3096" default="std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(((const std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >&)((const std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >*)(& std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >()))))"/> + + +------------- +Name mangling +------------- + +GCC-XML 0.9 manlges names different than the previous one. + + + + + + + + + + + + + + + + + + + + + +.. _`pygccxml`: ./pygccxml.html +.. _`Python`: http://www.python.org +.. _`GCC-XML`: http://www.gccxml.org This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-24 13:20:14
|
Revision: 1207 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1207&view=rev Author: roman_yakovenko Date: 2007-12-24 05:20:19 -0800 (Mon, 24 Dec 2007) Log Message: ----------- removing "diff", cause it was fixed in recent GCC-XML version Removed Paths: ------------- pygccxml_dev/gccxml-0.9-upgrade/types.7.xml pygccxml_dev/gccxml-0.9-upgrade/types.9.xml pygccxml_dev/gccxml-0.9-upgrade/types.h pygccxml_dev/gccxml-0.9-upgrade/types.h.diff Deleted: pygccxml_dev/gccxml-0.9-upgrade/types.7.xml =================================================================== --- pygccxml_dev/gccxml-0.9-upgrade/types.7.xml 2007-12-24 11:47:09 UTC (rev 1206) +++ pygccxml_dev/gccxml-0.9-upgrade/types.7.xml 2007-12-24 13:20:19 UTC (rev 1207) @@ -1,8086 +0,0 @@ -<?xml version="1.0"?> -<GCC_XML cvs_revision="1.114"> - <Namespace id="_1" name="::" members="_3 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _20 _22 _24 _25 _26 _27 _29 _30 _31 _32 _34 _35 _36 _38 _39 _40 _41 _43 _44 _45 _46 _47 _48 _49 _50 _51 _52 _53 _54 _55 _56 _57 _58 _59 _60 _61 _62 _63 _64 _65 _66 _67 _68 _69 _70 _71 _72 _73 _74 _75 _76 _77 _78 _79 _80 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _93 _94 _95 _96 _97 _98 _99 _100 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _115 _116 _117 _118 _119 _120 _121 _122 _123 _124 _125 _126 _127 _128 _129 _130 _131 _132 _133 _134 _135 _136 _137 _138 _139 _140 _141 _142 _143 _144 _145 _146 _147 _149 _150 _151 _152 _153 _154 _155 _156 _157 _158 _159 _160 _161 _162 _163 _164 _165 _166 _167 _168 _169 _170 _171 _172 _173 _174 _175 _176 _177 _178 _179 _180 _181 _182 _183 _184 _185 _186 _187 _188 _189 _190 _191 _192 _193 _194 _195 _196 _197 _198 _199 _200 _201 _202 _203 _204 _205 _206 _207 _208 _209 _210 _211 _212 _213 _214 _216 _217 _218 _219 _220 _221 _222 _223 _224 _225 _226 _227 _228 _229 _230 _231 _232 _233 _234 _235 _236 _237 _238 _239 _240 _241 _242 _243 _244 _245 _246 _247 _248 _249 _250 _251 _252 _253 _254 _255 _256 _257 _258 _259 _260 _261 _262 _263 _264 _265 _266 _267 _268 _269 _270 _271 _272 _273 _274 _275 _276 _277 _278 _279 _280 _281 _282 _283 _284 _285 _286 _287 _288 _289 _290 _291 _292 _293 _294 _295 _296 _297 _298 _299 _300 _301 _302 _303 _304 _305 _306 _307 _308 _309 _310 _311 _312 _313 _314 _315 _316 _317 _318 _319 _320 _321 _322 _323 _324 _325 _326 _327 _328 _329 _330 _331 _332 _333 _334 _335 _336 _337 _338 _339 _340 _341 _342 _343 _344 _345 _346 _347 _348 _349 _350 _351 _352 _353 _354 _355 _356 _357 _358 _359 _360 _361 _362 _363 _364 _365 _366 _367 _368 _369 _370 _371 _372 _373 _374 _375 _376 _377 _378 _379 _380 _381 _382 _383 _384 _385 _386 _387 _388 _389 _390 _391 _392 _393 _394 _395 _396 _397 _398 _399 _400 _401 _402 _403 _404 _405 _406 _407 _408 _409 _410 _411 _412 _413 _414 _415 _416 _417 _418 _419 _420 _421 _423 _422 _424 _425 _426 _427 _428 _429 _430 _431 _432 _433 _434 _435 _436 _437 _438 _439 _440 _441 _442 _443 _444 _445 _446 _447 _448 _449 _450 _451 _452 _453 _454 _455 _456 _457 _458 _459 _460 _461 _462 _463 _464 _465 _466 _467 _468 _469 _470 _471 _472 _473 _474 _475 _476 _477 _478 _480 _481 _482 _483 _484 _485 _486 _487 _488 _489 _490 _491 _492 _493 _494 _495 _496 _497 _498 _499 _500 _501 _502 _503 _504 _505 _506 _507 _508 _509 _510 _511 _512 _513 _514 _515 _516 _517 _518 _519 _520 _521 _522 _523 _524 _525 _526 _527 _528 _529 _530 _531 _532 _533 _534 _535 _536 _538 _539 _540 _541 _542 _543 _544 _545 _546 _547 _548 _549 _550 _551 _552 _553 _554 _555 _556 _557 _559 _560 _561 _562 _563 _564 _565 _566 _567 _568 _569 _570 _571 _572 _573 _574 _575 _576 _577 _578 _579 _580 _581 _582 _583 _584 _585 _586 _587 _588 _589 _590 _591 _592 _593 _594 _595 _596 _597 _598 _599 _600 _601 _602 _603 _604 _605 _606 _607 _608 _609 _610 _611 _612 _613 _614 _615 _616 _617 _618 _619 _620 _621 _622 _623 _624 _625 _626 _627 _628 _629 _630 _631 _632 _633 _634 _635 _636 _637 _638 _639 _640 _641 _642 _643 _644 _645 _646 _647 _648 _649 _650 _651 _652 _653 _654 _655 _656 _657 _658 _659 _660 _662 _664 _666 _667 _668 _669 _670 _671 _672 _673 _674 _675 _676 _677 _678 _679 _680 _681 _682 _683 _684 _685 _686 _687 _688 _689 _691 _690 _693 _695 _697 _699 _700 _701 _702 _703 _704 _705 _706 _707 _708 _709 _711 _712 _713 _714 _715 _716 _717 _718 _720 _721 _723 _725 _727 _729 _731 _733 _735 _737 _739 _740 _741 _742 _743 _744 _745 _661 _663 _148 _746 _748 _749 _747 _750 _751 _752 _753 _755 _756 _757 _758 _759 _760 _761 _762 _763 _764 _765 _766 _767 _768 _769 _770 _771 _772 _773 _774 _775 _776 _777 _778 _779 _780 _781 _782 _783 _784 _785 _786 _787 _788 _789 _791 _792 _793 _794 _795 _796 _797 _798 _799 _800 _801 _802 _803 _804 _805 _806 _807 _808 _809 _810 _811 _812 _813 _814 _815 _816 _817 _818 _819 _820 _821 _822 _823 _824 _825 _826 _827 _828 _829 _830 _831 _832 _833 _834 _835 _836 _837 _838 _839 _840 _841 _842 _843 _844 _845 _846 _847 _848 _849 _850 _851 _852 _853 _854 _855 _215 _857 _856 _858 _859 _860 _861 _862 _863 _864 _866 _867 _868 _869 _870 _871 _872 _873 _874 _875 _876 _877 _879 _878 _880 _881 _882 _883 _884 _885 _886 _887 _888 _889 _890 _891 _892 _893 _894 _895 _896 _897 _898 _899 _900 _901 _902 _903 _904 _905 _906 _907 _908 _909 _910 _911 _912 _913 _914 _916 _917 _918 _919 _920 _921 _922 _923 _924 _925 _927 _928 _929 _930 _931 _932 _933 _934 _935 _936 _937 _938 _939 _940 _941 _942 _943 _944 _945 _946 _947 _948 _915 _949 _950 _951 _952 _953 _954 _955 _956 _957 _958 _959 _960 _961 _962 _963 _964 _965 _966 _967 _968 _969 _970 _971 _972 _973 _974 _975 _976 _977 _978 _979 _980 _981 _982 _983 _984 _985 _986 _987 _988 _989 _990 _991 _992 _993 _994 _995 _996 _997 _998 _999 _1000 _1001 _1002 _1003 _1004 _1005 _1006 _1007 _1008 _1009 _1010 _1011 _1012 _1013 _1014 _1015 _1016 _1017 _1018 _1019 _1020 _1021 _1022 _1023 _1024 _1025 _1026 _1027 _1028 _1029 _1030 _1031 _1032 _1033 _1034 _1035 _1036 _1037 _1038 _1039 _1040 _1041 _1042 _1043 _1044 _1045 _1046 _1047 _1048 _1049 _1050 _1051 _1052 _1053 _1054 _1055 _1056 _1057 _1058 _1059 _1060 _1061 _1062 _1063 _1064 _1065 _1066 _1067 _1068 _1069 _1070 _1071 _1072 _1073 _1074 _1075 _1076 _1077 _1078 _1079 _1080 _1081 _1082 _1083 _1084 _1085 _1086 _1087 _1088 _1089 _1090 _1091 _1092 _1093 _1094 _1095 _1096 _1097 _1098 _1099 _1100 _1101 _1102 _1103 _1104 _1105 _1106 _1107 _1108 _1109 _1110 _1111 _1112 _1113 _1114 _1115 _1116 _1117 _1118 _1119 _1120 _1121 _1122 _1123 _1124 _1125 _1126 _1127 _1128 _1129 _1130 _1131 _1132 _1133 _1134 _1135 _1136 _1137 _1138 _1139 _1140 _1141 _1142 _1143 _1144 _1145 _1146 _1147 _1148 _1149 _1150 _1151 _1152 _1153 _1154 _1155 _1156 _1157 _1158 _1159 _1160 _1161 _1162 _1163 _1164 _1165 _1166 _1167 _1168 _1169 _1170 _1171 _1172 _1173 _1174 _1175 _1176 _1177 _1178 _1179 _1180 _1181 _1182 _1183 _1184 _1185 _1186 _1187 _1188 _1189 _1190 _1191 _1192 _1193 _1194 _1195 _1196 _1197 _1198 _1199 _1200 _1201 _1202 _1203 _1204 _1205 _1206 _1207 _1208 _1209 _1210 _1211 _1212 _1213 _1214 _1215 _1216 _1217 _1218 _1219 _1220 _1221 _1222 _1223 " mangled="_Z2::" demangled="::"/> - <Namespace id="_2" name="std" context="_1" members="_1224 _1225 _1250 _1251 _1252 _1253 _1254 _1255 _1257 _1258 _1259 _1260 _1261 _1262 _1263 _1264 _1265 _1266 _1267 _1268 _1269 _1270 _1273 _1274 _1275 _1293 _1294 _1295 _1296 _1297 _1317 _1319 _1321 _1323 _1325 _1327 _1329 _1331 _1333 _1335 _1337 _1339 _1341 _1343 _1345 _1347 _1349 _1351 _1353 _1355 _1357 _1359 _1361 _1363 _1365 _1367 _1368 _1369 _1370 _1371 _1372 _1373 _1374 _1375 _1376 _1377 _1378 _1379 _1380 _1381 _1382 _1384 _1385 _1386 _1387 _1388 _1389 _1390 _1391 _1392 _1393 _1394 _1395 _1396 _1397 _1398 _1399 _1400 _1401 _1402 _1404 _1406 _1414 " mangled="_Z3std" demangled="std"/> - <Struct id="_3" name="mem_var_str_t" context="_1" mangled="13mem_var_str_t" demangled="mem_var_str_t" location="f0:8" file="f0" line="8" artificial="1" size="8" align="8" members="_1415 _1416 _1417 _1418 " bases=""/> - <FundamentalType id="_4" name="int" size="32" align="32"/> - <Typedef id="_5" name="_Atomic_word" type="_4" context="_1" location="f1:33" file="f1" line="33"/> - <OperatorFunction id="_6" name="delete []" returns="_710" throw="" context="_1" mangled="_ZdaPvS_" demangled="operator delete[](void*, void*)" location="f2:99" file="f2" line="99" endline="99" inline="1"> - <Argument type="_558" location="f2:99" file="f2" line="99"/> - <Argument type="_558" location="f2:99" file="f2" line="99"/> - </OperatorFunction> - <OperatorFunction id="_7" name="delete" returns="_710" throw="" context="_1" mangled="_ZdlPvS_" demangled="operator delete(void*, void*)" location="f2:98" file="f2" line="98" endline="98" inline="1"> - <Argument type="_558" location="f2:98" file="f2" line="98"/> - <Argument type="_558" location="f2:98" file="f2" line="98"/> - </OperatorFunction> - <OperatorFunction id="_8" name="new []" returns="_558" throw="" context="_1" mangled="_ZnajPv" demangled="operator new[](unsigned, void*)" location="f2:95" file="f2" line="95" endline="95" inline="1"> - <Argument type="_1051" location="f2:95" file="f2" line="95"/> - <Argument name="__p" type="_558" location="f2:95" file="f2" line="95"/> - </OperatorFunction> - <OperatorFunction id="_9" name="new" returns="_558" throw="" context="_1" mangled="_ZnwjPv" demangled="operator new(unsigned, void*)" location="f2:94" file="f2" line="94" endline="94" inline="1"> - <Argument type="_1051" location="f2:94" file="f2" line="94"/> - <Argument name="__p" type="_558" location="f2:94" file="f2" line="94"/> - </OperatorFunction> - <OperatorFunction id="_10" name="delete []" returns="_710" throw="" context="_1" mangled="_ZdaPvRKSt9nothrow_t" demangled="operator delete[](void*, std::nothrow_t const&)" location="f2:91" file="f2" line="91" extern="1"> - <Argument type="_558" location="f2:91" file="f2" line="91"/> - <Argument type="_1419" location="f2:91" file="f2" line="91"/> - </OperatorFunction> - <OperatorFunction id="_11" name="delete" returns="_710" throw="" context="_1" mangled="_ZdlPvRKSt9nothrow_t" demangled="operator delete(void*, std::nothrow_t const&)" location="f2:90" file="f2" line="90" extern="1"> - <Argument type="_558" location="f2:90" file="f2" line="90"/> - <Argument type="_1419" location="f2:90" file="f2" line="90"/> - </OperatorFunction> - <OperatorFunction id="_12" name="new []" returns="_558" throw="" context="_1" mangled="_ZnajRKSt9nothrow_t" demangled="operator new[](unsigned, std::nothrow_t const&)" location="f2:89" file="f2" line="89" extern="1"> - <Argument type="_1051" location="f2:89" file="f2" line="89"/> - <Argument type="_1419" location="f2:89" file="f2" line="89"/> - </OperatorFunction> - <OperatorFunction id="_13" name="new" returns="_558" throw="" context="_1" mangled="_ZnwjRKSt9nothrow_t" demangled="operator new(unsigned, std::nothrow_t const&)" location="f2:88" file="f2" line="88" extern="1"> - <Argument type="_1051" location="f2:88" file="f2" line="88"/> - <Argument type="_1419" location="f2:88" file="f2" line="88"/> - </OperatorFunction> - <Variable id="_14" name="_ZTISt9bad_alloc" type="_1420c" context="_1" location="f2:56" file="f2" line="56" extern="1" artificial="1"/> - <Variable id="_15" name="_ZTISt13bad_exception" type="_1420c" context="_1" location="f3:67" file="f3" line="67" extern="1" artificial="1"/> - <Variable id="_16" name="_ZTISt9exception" type="_1422c" context="_1" location="f3:55" file="f3" line="55" extern="1" artificial="1"/> - <Struct id="_17" name="__false_type" context="_1" mangled="12__false_type" demangled="__false_type" location="f4:94" file="f4" line="94" artificial="1" size="8" align="8" members="_1424 _1425 " bases=""/> - <Struct id="_18" name="__true_type" context="_1" mangled="11__true_type" demangled="__true_type" location="f4:93" file="f4" line="93" artificial="1" size="8" align="8" members="_1426 _1427 " bases=""/> - <FundamentalType id="_19" name="long long unsigned int" size="64" align="64"/> - <Typedef id="_20" name="uintmax_t" type="_19" context="_1" location="f5:141" file="f5" line="141"/> - <FundamentalType id="_21" name="long long int" size="64" align="64"/> - <Typedef id="_22" name="intmax_t" type="_21" context="_1" location="f5:139" file="f5" line="139"/> - <FundamentalType id="_23" name="unsigned int" size="32" align="32"/> - <Typedef id="_24" name="uintptr_t" type="_23" context="_1" location="f5:129" file="f5" line="129"/> - <Typedef id="_25" name="uint_fast64_t" type="_19" context="_1" location="f5:113" file="f5" line="113"/> - <Typedef id="_26" name="uint_fast32_t" type="_23" context="_1" location="f5:111" file="f5" line="111"/> - <Typedef id="_27" name="uint_fast16_t" type="_23" context="_1" location="f5:110" file="f5" line="110"/> - <FundamentalType id="_28" name="unsigned char" size="8" align="8"/> - <Typedef id="_29" name="uint_fast8_t" type="_28" context="_1" location="f5:104" file="f5" line="104"/> - <Typedef id="_30" name="int_fast64_t" type="_21" context="_1" location="f5:100" file="f5" line="100"/> - <Typedef id="_31" name="int_fast32_t" type="_4" context="_1" location="f5:98" file="f5" line="98"/> - <Typedef id="_32" name="int_fast16_t" type="_4" context="_1" location="f5:97" file="f5" line="97"/> - <FundamentalType id="_33" name="signed char" size="8" align="8"/> - <Typedef id="_34" name="int_fast8_t" type="_33" context="_1" location="f5:91" file="f5" line="91"/> - <Typedef id="_35" name="uint_least64_t" type="_19" context="_1" location="f5:84" file="f5" line="84"/> - <Typedef id="_36" name="uint_least32_t" type="_23" context="_1" location="f5:79" file="f5" line="79"/> - <FundamentalType id="_37" name="short unsigned int" size="16" align="16"/> - <Typedef id="_38" name="uint_least16_t" type="_37" context="_1" location="f5:78" file="f5" line="78"/> - <Typedef id="_39" name="uint_least8_t" type="_28" context="_1" location="f5:77" file="f5" line="77"/> - <Typedef id="_40" name="int_least64_t" type="_21" context="_1" location="f5:73" file="f5" line="73"/> - <Typedef id="_41" name="int_least32_t" type="_4" context="_1" location="f5:68" file="f5" line="68"/> - <FundamentalType id="_42" name="short int" size="16" align="16"/> - <Typedef id="_43" name="int_least16_t" type="_42" context="_1" location="f5:67" file="f5" line="67"/> - <Typedef id="_44" name="int_least8_t" type="_33" context="_1" location="f5:66" file="f5" line="66"/> - <Typedef id="_45" name="uint64_t" type="_19" context="_1" location="f5:59" file="f5" line="59"/> - <Typedef id="_46" name="uint32_t" type="_23" context="_1" location="f5:52" file="f5" line="52"/> - <Typedef id="_47" name="uint16_t" type="_37" context="_1" location="f5:50" file="f5" line="50"/> - <Typedef id="_48" name="uint8_t" type="_28" context="_1" location="f5:49" file="f5" line="49"/> - <Function id="_49" name="wcsftime_l" returns="_1051" throw="" context="_1" location="f6:835" file="f6" line="835" extern="1"> - <Argument name="__s" type="_1428r" location="f6:835" file="f6" line="835"/> - <Argument name="__maxsize" type="_1051" location="f6:835" file="f6" line="835"/> - <Argument name="__format" type="_1430r" location="f6:835" file="f6" line="835"/> - <Argument name="__tp" type="_1432r" location="f6:835" file="f6" line="835"/> - <Argument name="__loc" type="_1041" location="f6:835" file="f6" line="835"/> - </Function> - <Function id="_50" name="wcsftime" returns="_1051" throw="" context="_1" location="f6:824" file="f6" line="824" extern="1"> - <Argument name="__s" type="_1428r" location="f6:824" file="f6" line="824"/> - <Argument name="__maxsize" type="_1051" location="f6:824" file="f6" line="824"/> - <Argument name="__format" type="_1430r" location="f6:824" file="f6" line="824"/> - <Argument name="__tp" type="_1432r" location="f6:824" file="f6" line="824"/> - </Function> - <Function id="_51" name="fputws_unlocked" returns="_4" context="_1" location="f6:814" file="f6" line="814" extern="1"> - <Argument name="__ws" type="_1430r" location="f6:814" file="f6" line="814"/> - <Argument name="__stream" type="_1434r" location="f6:814" file="f6" line="814"/> - </Function> - <Function id="_52" name="fgetws_unlocked" returns="_1428" context="_1" location="f6:805" file="f6" line="805" extern="1"> - <Argument name="__ws" type="_1428r" location="f6:805" file="f6" line="805"/> - <Argument name="__n" type="_4" location="f6:805" file="f6" line="805"/> - <Argument name="__stream" type="_1434r" location="f6:805" file="f6" line="805"/> - </Function> - <Function id="_53" name="putwchar_unlocked" returns="_746" context="_1" location="f6:795" file="f6" line="795" extern="1"> - <Argument name="__wc" type="_1436" location="f6:795" file="f6" line="795"/> - </Function> - <Function id="_54" name="putwc_unlocked" returns="_746" context="_1" location="f6:794" file="f6" line="794" extern="1"> - <Argument name="__wc" type="_1436" location="f6:794" file="f6" line="794"/> - <Argument name="__stream" type="_1434" location="f6:794" file="f6" line="794"/> - </Function> - <Function id="_55" name="fputwc_unlocked" returns="_746" context="_1" location="f6:785" file="f6" line="785" extern="1"> - <Argument name="__wc" type="_1436" location="f6:785" file="f6" line="785"/> - <Argument name="__stream" type="_1434" location="f6:785" file="f6" line="785"/> - </Function> - <Function id="_56" name="fgetwc_unlocked" returns="_746" context="_1" location="f6:777" file="f6" line="777" extern="1"> - <Argument name="__stream" type="_1434" location="f6:777" file="f6" line="777"/> - </Function> - <Function id="_57" name="getwchar_unlocked" returns="_746" context="_1" location="f6:769" file="f6" line="769" extern="1"/> - <Function id="_58" name="getwc_unlocked" returns="_746" context="_1" location="f6:768" file="f6" line="768" extern="1"> - <Argument name="__stream" type="_1434" location="f6:768" file="f6" line="768"/> - </Function> - <Function id="_59" name="ungetwc" returns="_746" context="_1" location="f6:756" file="f6" line="756" extern="1"> - <Argument name="__wc" type="_746" location="f6:756" file="f6" line="756"/> - <Argument name="__stream" type="_1434" location="f6:756" file="f6" line="756"/> - </Function> - <Function id="_60" name="fputws" returns="_4" context="_1" location="f6:749" file="f6" line="749" extern="1"> - <Argument name="__ws" type="_1430r" location="f6:749" file="f6" line="749"/> - <Argument name="__stream" type="_1434r" location="f6:749" file="f6" line="749"/> - </Function> - <Function id="_61" name="fgetws" returns="_1428" context="_1" location="f6:742" file="f6" line="742" extern="1"> - <Argument name="__ws" type="_1428r" location="f6:742" file="f6" line="742"/> - <Argument name="__n" type="_4" location="f6:742" file="f6" line="742"/> - <Argument name="__stream" type="_1434r" location="f6:742" file="f6" line="742"/> - </Function> - <Function id="_62" name="putwchar" returns="_746" context="_1" location="f6:733" file="f6" line="733" extern="1"> - <Argument name="__wc" type="_1436" location="f6:733" file="f6" line="733"/> - </Function> - <Function id="_63" name="putwc" returns="_746" context="_1" location="f6:727" file="f6" line="727" extern="1"> - <Argument name="__wc" type="_1436" location="f6:727" file="f6" line="727"/> - <Argument name="__stream" type="_1434" location="f6:727" file="f6" line="727"/> - </Function> - <Function id="_64" name="fputwc" returns="_746" context="_1" location="f6:726" file="f6" line="726" extern="1"> - <Argument name="__wc" type="_1436" location="f6:726" file="f6" line="726"/> - <Argument name="__stream" type="_1434" location="f6:726" file="f6" line="726"/> - </Function> - <Function id="_65" name="getwchar" returns="_746" context="_1" location="f6:719" file="f6" line="719" extern="1"/> - <Function id="_66" name="getwc" returns="_746" context="_1" location="f6:713" file="f6" line="713" extern="1"> - <Argument name="__stream" type="_1434" location="f6:713" file="f6" line="713"/> - </Function> - <Function id="_67" name="fgetwc" returns="_746" context="_1" location="f6:712" file="f6" line="712" extern="1"> - <Argument name="__stream" type="_1434" location="f6:712" file="f6" line="712"/> - </Function> - <Function id="_68" name="vswscanf" returns="_4" throw="" context="_1" location="f6:701" file="f6" line="701" extern="1"> - <Argument name="__s" type="_1430r" location="f6:701" file="f6" line="701"/> - <Argument name="__format" type="_1430r" location="f6:701" file="f6" line="701"/> - <Argument name="__arg" type="_713" location="f6:701" file="f6" line="701"/> - </Function> - <Function id="_69" name="vwscanf" returns="_4" context="_1" location="f6:696" file="f6" line="696" extern="1"> - <Argument name="__format" type="_1430r" location="f6:696" file="f6" line="696"/> - <Argument name="__arg" type="_713" location="f6:696" file="f6" line="696"/> - </Function> - <Function id="_70" name="vfwscanf" returns="_4" context="_1" location="f6:689" file="f6" line="689" extern="1"> - <Argument name="__s" type="_1434r" location="f6:689" file="f6" line="689"/> - <Argument name="__format" type="_1430r" location="f6:689" file="f6" line="689"/> - <Argument name="__arg" type="_713" location="f6:689" file="f6" line="689"/> - </Function> - <Function id="_71" name="swscanf" returns="_4" throw="" context="_1" location="f6:674" file="f6" line="674" extern="1"> - <Argument name="__s" type="_1430r" location="f6:674" file="f6" line="674"/> - <Argument name="__format" type="_1430r" location="f6:674" file="f6" line="674"/> - <Ellipsis/> - </Function> - <Function id="_72" name="wscanf" returns="_4" context="_1" location="f6:670" file="f6" line="670" extern="1"> - <Argument name="__format" type="_1430r" location="f6:670" file="f6" line="670"/> - <Ellipsis/> - </Function> - <Function id="_73" name="fwscanf" returns="_4" context="_1" location="f6:664" file="f6" line="664" extern="1"> - <Argument name="__stream" type="_1434r" location="f6:664" file="f6" line="664"/> - <Argument name="__format" type="_1430r" location="f6:664" file="f6" line="664"/> - <Ellipsis/> - </Function> - <Function id="_74" name="vswprintf" returns="_4" throw="" context="_1" location="f6:655" file="f6" line="655" extern="1"> - <Argument name="__s" type="_1428r" location="f6:655" file="f6" line="655"/> - <Argument name="__n" type="_1051" location="f6:655" file="f6" line="655"/> - <Argument name="__format" type="_1430r" location="f6:655" file="f6" line="655"/> - <Argument name="__arg" type="_713" location="f6:655" file="f6" line="655"/> - </Function> - <Function id="_75" name="vwprintf" returns="_4" context="_1" location="f6:649" file="f6" line="649" extern="1"> - <Argument name="__format" type="_1430r" location="f6:649" file="f6" line="649"/> - <Argument name="__arg" type="_713" location="f6:649" file="f6" line="649"/> - </Function> - <Function id="_76" name="vfwprintf" returns="_4" context="_1" location="f6:642" file="f6" line="642" extern="1"> - <Argument name="__s" type="_1434r" location="f6:642" file="f6" line="642"/> - <Argument name="__format" type="_1430r" location="f6:642" file="f6" line="642"/> - <Argument name="__arg" type="_713" location="f6:642" file="f6" line="642"/> - </Function> - <Function id="_77" name="swprintf" returns="_4" throw="" context="_1" location="f6:633" file="f6" line="633" extern="1"> - <Argument name="__s" type="_1428r" location="f6:633" file="f6" line="633"/> - <Argument name="__n" type="_1051" location="f6:633" file="f6" line="633"/> - <Argument name="__format" type="_1430r" location="f6:633" file="f6" line="633"/> - <Ellipsis/> - </Function> - <Function id="_78" name="wprintf" returns="_4" context="_1" location="f6:629" file="f6" line="629" extern="1"> - <Argument name="__format" type="_1430r" location="f6:629" file="f6" line="629"/> - <Ellipsis/> - </Function> - <Function id="_79" name="fwprintf" returns="_4" context="_1" location="f6:623" file="f6" line="623" extern="1"> - <Argument name="__stream" type="_1434r" location="f6:623" file="f6" line="623"/> - <Argument name="__format" type="_1430r" location="f6:623" file="f6" line="623"/> - <Ellipsis/> - </Function> - <Function id="_80" name="fwide" returns="_4" throw="" context="_1" location="f6:614" file="f6" line="614" extern="1"> - <Argument name="__fp" type="_1434" location="f6:614" file="f6" line="614"/> - <Argument name="__mode" type="_4" location="f6:614" file="f6" line="614"/> - </Function> - <Function id="_81" name="open_wmemstream" returns="_1434" throw="" context="_1" location="f6:607" file="f6" line="607" extern="1"> - <Argument name="__bufloc" type="_1437" location="f6:607" file="f6" line="607"/> - <Argument name="__sizeloc" type="_1438" location="f6:607" file="f6" line="607"/> - </Function> - <Function id="_82" name="wcpncpy" returns="_1428" throw="" context="_1" location="f6:598" file="f6" line="598" extern="1"> - <Argument name="__dest" type="_1428" location="f6:598" file="f6" line="598"/> - <Argument name="__src" type="_1430" location="f6:598" file="f6" line="598"/> - <Argument name="__n" type="_1051" location="f6:598" file="f6" line="598"/> - </Function> - <Function id="_83" name="wcpcpy" returns="_1428" throw="" context="_1" location="f6:593" file="f6" line="593" extern="1"> - <Argument name="__dest" type="_1428" location="f6:593" file="f6" line="593"/> - <Argument name="__src" type="_1430" location="f6:593" file="f6" line="593"/> - </Function> - <Function id="_84" name="__wcstold_internal" returns="_1439" throw="" context="_1" location="f6:510" file="f6" line="510" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:510" file="f6" line="510"/> - <Argument name="__endptr" type="_1437r" location="f6:510" file="f6" line="510"/> - <Argument name="__group" type="_4" location="f6:510" file="f6" line="510"/> - </Function> - <Function id="_85" name="__wcstof_internal" returns="_1441" throw="" context="_1" location="f6:507" file="f6" line="507" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:507" file="f6" line="507"/> - <Argument name="__endptr" type="_1437r" location="f6:507" file="f6" line="507"/> - <Argument name="__group" type="_4" location="f6:507" file="f6" line="507"/> - </Function> - <Function id="_86" name="__wcstod_internal" returns="_1442" throw="" context="_1" location="f6:504" file="f6" line="504" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:504" file="f6" line="504"/> - <Argument name="__endptr" type="_1437r" location="f6:504" file="f6" line="504"/> - <Argument name="__group" type="_4" location="f6:504" file="f6" line="504"/> - </Function> - <Function id="_87" name="wcstold_l" returns="_1439" throw="" context="_1" location="f6:496" file="f6" line="496" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:496" file="f6" line="496"/> - <Argument name="__endptr" type="_1437r" location="f6:496" file="f6" line="496"/> - <Argument name="__loc" type="_1041" location="f6:496" file="f6" line="496"/> - </Function> - <Function id="_88" name="wcstof_l" returns="_1441" throw="" context="_1" location="f6:492" file="f6" line="492" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:492" file="f6" line="492"/> - <Argument name="__endptr" type="_1437r" location="f6:492" file="f6" line="492"/> - <Argument name="__loc" type="_1041" location="f6:492" file="f6" line="492"/> - </Function> - <Function id="_89" name="wcstod_l" returns="_1442" throw="" context="_1" location="f6:488" file="f6" line="488" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:488" file="f6" line="488"/> - <Argument name="__endptr" type="_1437r" location="f6:488" file="f6" line="488"/> - <Argument name="__loc" type="_1041" location="f6:488" file="f6" line="488"/> - </Function> - <Function id="_90" name="wcstoull_l" returns="_19" throw="" context="_1" location="f6:484" file="f6" line="484" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:484" file="f6" line="484"/> - <Argument name="__endptr" type="_1437r" location="f6:484" file="f6" line="484"/> - <Argument name="__base" type="_4" location="f6:484" file="f6" line="484"/> - <Argument name="__loc" type="_1041" location="f6:484" file="f6" line="484"/> - </Function> - <Function id="_91" name="wcstoll_l" returns="_21" throw="" context="_1" location="f6:478" file="f6" line="478" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:478" file="f6" line="478"/> - <Argument name="__endptr" type="_1437r" location="f6:478" file="f6" line="478"/> - <Argument name="__base" type="_4" location="f6:478" file="f6" line="478"/> - <Argument name="__loc" type="_1041" location="f6:478" file="f6" line="478"/> - </Function> - <Function id="_92" name="wcstoul_l" returns="_537" throw="" context="_1" location="f6:473" file="f6" line="473" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:473" file="f6" line="473"/> - <Argument name="__endptr" type="_1437r" location="f6:473" file="f6" line="473"/> - <Argument name="__base" type="_4" location="f6:473" file="f6" line="473"/> - <Argument name="__loc" type="_1041" location="f6:473" file="f6" line="473"/> - </Function> - <Function id="_93" name="wcstol_l" returns="_865" throw="" context="_1" location="f6:469" file="f6" line="469" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:469" file="f6" line="469"/> - <Argument name="__endptr" type="_1437r" location="f6:469" file="f6" line="469"/> - <Argument name="__base" type="_4" location="f6:469" file="f6" line="469"/> - <Argument name="__loc" type="_1041" location="f6:469" file="f6" line="469"/> - </Function> - <Function id="_94" name="wcstouq" returns="_19" throw="" context="_1" location="f6:446" file="f6" line="446" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:446" file="f6" line="446"/> - <Argument name="__endptr" type="_1437r" location="f6:446" file="f6" line="446"/> - <Argument name="__base" type="_4" location="f6:446" file="f6" line="446"/> - </Function> - <Function id="_95" name="wcstoq" returns="_21" throw="" context="_1" location="f6:439" file="f6" line="439" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:439" file="f6" line="439"/> - <Argument name="__endptr" type="_1437r" location="f6:439" file="f6" line="439"/> - <Argument name="__base" type="_4" location="f6:439" file="f6" line="439"/> - </Function> - <Function id="_96" name="wcstoull" returns="_19" throw="" context="_1" location="f6:429" file="f6" line="429" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:429" file="f6" line="429"/> - <Argument name="__endptr" type="_1437r" location="f6:429" file="f6" line="429"/> - <Argument name="__base" type="_4" location="f6:429" file="f6" line="429"/> - </Function> - <Function id="_97" name="wcstoll" returns="_21" throw="" context="_1" location="f6:422" file="f6" line="422" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:422" file="f6" line="422"/> - <Argument name="__endptr" type="_1437r" location="f6:422" file="f6" line="422"/> - <Argument name="__base" type="_4" location="f6:422" file="f6" line="422"/> - </Function> - <Function id="_98" name="wcstoul" returns="_537" throw="" context="_1" location="f6:414" file="f6" line="414" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:414" file="f6" line="414"/> - <Argument name="__endptr" type="_1437r" location="f6:414" file="f6" line="414"/> - <Argument name="__base" type="_4" location="f6:414" file="f6" line="414"/> - </Function> - <Function id="_99" name="wcstol" returns="_865" throw="" context="_1" location="f6:408" file="f6" line="408" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:408" file="f6" line="408"/> - <Argument name="__endptr" type="_1437r" location="f6:408" file="f6" line="408"/> - <Argument name="__base" type="_4" location="f6:408" file="f6" line="408"/> - </Function> - <Function id="_100" name="wcstold" returns="_1439" throw="" context="_1" location="f6:401" file="f6" line="401" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:401" file="f6" line="401"/> - <Argument name="__endptr" type="_1437r" location="f6:401" file="f6" line="401"/> - </Function> - <Function id="_101" name="wcstof" returns="_1441" throw="" context="_1" location="f6:399" file="f6" line="399" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:399" file="f6" line="399"/> - <Argument name="__endptr" type="_1437r" location="f6:399" file="f6" line="399"/> - </Function> - <Function id="_102" name="wcstod" returns="_1442" throw="" context="_1" location="f6:394" file="f6" line="394" extern="1"> - <Argument name="__nptr" type="_1430r" location="f6:394" file="f6" line="394"/> - <Argument name="__endptr" type="_1437r" location="f6:394" file="f6" line="394"/> - </Function> - <Function id="_103" name="wcswidth" returns="_4" throw="" context="_1" location="f6:386" file="f6" line="386" extern="1"> - <Argument name="__s" type="_1430" location="f6:386" file="f6" line="386"/> - <Argument name="__n" type="_1051" location="f6:386" file="f6" line="386"/> - </Function> - <Function id="_104" name="wcwidth" returns="_4" throw="" context="_1" location="f6:382" file="f6" line="382" extern="1"> - <Argument name="__c" type="_1436" location="f6:382" file="f6" line="382"/> - </Function> - <Function id="_105" name="wcsnrtombs" returns="_1051" throw="" context="_1" location="f6:375" file="f6" line="375" extern="1"> - <Argument name="__dst" type="_665r" location="f6:375" file="f6" line="375"/> - <Argument name="__src" type="_1444r" location="f6:375" file="f6" line="375"/> - <Argument name="__nwc" type="_1051" location="f6:375" file="f6" line="375"/> - <Argument name="__len" type="_1051" location="f6:375" file="f6" line="375"/> - <Argument name="__ps" type="_1446r" location="f6:375" file="f6" line="375"/> - </Function> - <Function id="_106" name="mbsnrtowcs" returns="_1051" throw="" context="_1" location="f6:368" file="f6" line="368" extern="1"> - <Argument name="__dst" type="_1428r" location="f6:368" file="f6" line="368"/> - <Argument name="__src" type="_1448r" location="f6:368" file="f6" line="368"/> - <Argument name="__nmc" type="_1051" location="f6:368" file="f6" line="368"/> - <Argument name="__len" type="_1051" location="f6:368" file="f6" line="368"/> - <Argument name="__ps" type="_1446r" location="f6:368" file="f6" line="368"/> - </Function> - <Function id="_107" name="wcsrtombs" returns="_1051" throw="" context="_1" location="f6:359" file="f6" line="359" extern="1"> - <Argument name="__dst" type="_665r" location="f6:359" file="f6" line="359"/> - <Argument name="__src" type="_1444r" location="f6:359" file="f6" line="359"/> - <Argument name="__len" type="_1051" location="f6:359" file="f6" line="359"/> - <Argument name="__ps" type="_1446r" location="f6:359" file="f6" line="359"/> - </Function> - <Function id="_108" name="mbsrtowcs" returns="_1051" throw="" context="_1" location="f6:353" file="f6" line="353" extern="1"> - <Argument name="__dst" type="_1428r" location="f6:353" file="f6" line="353"/> - <Argument name="__src" type="_1448r" location="f6:353" file="f6" line="353"/> - <Argument name="__len" type="_1051" location="f6:353" file="f6" line="353"/> - <Argument name="__ps" type="_1446r" location="f6:353" file="f6" line="353"/> - </Function> - <Function id="_109" name="mbrlen" returns="_1051" throw="" context="_1" location="f6:318" file="f6" line="318" extern="1"> - <Argument name="__s" type="_1450r" location="f6:318" file="f6" line="318"/> - <Argument name="__n" type="_1051" location="f6:318" file="f6" line="318"/> - <Argument name="__ps" type="_1446r" location="f6:318" file="f6" line="318"/> - </Function> - <Function id="_110" name="__mbrlen" returns="_1051" throw="" context="_1" location="f6:316" file="f6" line="316" extern="1"> - <Argument name="__s" type="_1450r" location="f6:316" file="f6" line="316"/> - <Argument name="__n" type="_1051" location="f6:316" file="f6" line="316"/> - <Argument name="__ps" type="_1446r" location="f6:316" file="f6" line="316"/> - </Function> - <Function id="_111" name="wcrtomb" returns="_1051" throw="" context="_1" location="f6:312" file="f6" line="312" extern="1"> - <Argument name="__s" type="_665r" location="f6:312" file="f6" line="312"/> - <Argument name="__wc" type="_1436" location="f6:312" file="f6" line="312"/> - <Argument name="__ps" type="_1446r" location="f6:312" file="f6" line="312"/> - </Function> - <Function id="_112" name="mbrtowc" returns="_1051" throw="" context="_1" location="f6:308" file="f6" line="308" extern="1"> - <Argument name="__pwc" type="_1428r" location="f6:308" file="f6" line="308"/> - <Argument name="__s" type="_1450r" location="f6:308" file="f6" line="308"/> - <Argument name="__n" type="_1051" location="f6:308" file="f6" line="308"/> - <Argument name="__p" type="_1446" location="f6:308" file="f6" line="308"/> - </Function> - <Function id="_113" name="mbsinit" returns="_4" throw="" context="_1" location="f6:302" file="f6" line="302" extern="1" attributes="__pure__"> - <Argument name="__ps" type="_1452" location="f6:302" file="f6" line="302"/> - </Function> - <Function id="_114" name="wctob" returns="_4" throw="" context="_1" location="f6:298" file="f6" line="298" extern="1"> - <Argument name="__c" type="_746" location="f6:298" file="f6" line="298"/> - </Function> - <Function id="_115" name="btowc" returns="_746" throw="" context="_1" location="f6:294" file="f6" line="294" extern="1"> - <Argument name="__c" type="_4" location="f6:294" file="f6" line="294"/> - </Function> - <Function id="_116" name="wmempcpy" returns="_1428" throw="" context="_1" location="f6:287" file="f6" line="287" extern="1"> - <Argument name="__s1" type="_1428r" location="f6:287" file="f6" line="287"/> - <Argument name="__s2" type="_1430r" location="f6:287" file="f6" line="287"/> - <Argument name="__n" type="_1051" location="f6:287" file="f6" line="287"/> - </Function> - <Function id="_117" name="wmemset" returns="_1428" throw="" context="_1" location="f6:279" file="f6" line="279" extern="1"> - <Argument name="__s" type="_1428" location="f6:279" file="f6" line="279"/> - <Argument name="__c" type="_1436" location="f6:279" file="f6" line="279"/> - <Argument name="__n" type="_1051" location="f6:279" file="f6" line="279"/> - </Function> - <Function id="_118" name="wmemmove" returns="_1428" throw="" context="_1" location="f6:276" file="f6" line="276" extern="1"> - <Argument name="__s1" type="_1428" location="f6:276" file="f6" line="276"/> - <Argument name="__s2" type="_1430" location="f6:276" file="f6" line="276"/> - <Argument name="__n" type="_1051" location="f6:276" file="f6" line="276"/> - </Function> - <Function id="_119" name="wmemcpy" returns="_1428" throw="" context="_1" location="f6:271" file="f6" line="271" extern="1"> - <Argument name="__s1" type="_1428r" location="f6:271" file="f6" line="271"/> - <Argument name="__s2" type="_1430r" location="f6:271" file="f6" line="271"/> - <Argument name="__n" type="_1051" location="f6:271" file="f6" line="271"/> - </Function> - <Function id="_120" name="wmemcmp" returns="_4" throw="" context="_1" location="f6:267" file="f6" line="267" extern="1" attributes="__pure__"> - <Argument name="__s1" type="_1430r" location="f6:267" file="f6" line="267"/> - <Argument name="__s2" type="_1430r" location="f6:267" file="f6" line="267"/> - <Argument name="__n" type="_1051" location="f6:267" file="f6" line="267"/> - </Function> - <Function id="_121" name="wmemchr" returns="_1428" throw="" context="_1" location="f6:262" file="f6" line="262" extern="1" attributes="__pure__"> - <Argument name="__s" type="_1430" location="f6:262" file="f6" line="262"/> - <Argument name="__c" type="_1436" location="f6:262" file="f6" line="262"/> - <Argument name="__n" type="_1051" location="f6:262" file="f6" line="262"/> - </Function> - <Function id="_122" name="wcsnlen" returns="_1051" throw="" context="_1" location="f6:255" file="f6" line="255" extern="1" attributes="__pure__"> - <Argument name="__s" type="_1430" location="f6:255" file="f6" line="255"/> - <Argument name="__maxlen" type="_1051" location="f6:255" file="f6" line="255"/> - </Function> - <Function id="_123" name="wcswcs" returns="_1428" throw="" context="_1" location="f6:249" file="f6" line="249" extern="1" attributes="__pure__"> - <Argument name="__haystack" type="_1430" location="f6:249" file="f6" line="249"/> - <Argument name="__needle" type="_1430" location="f6:249" file="f6" line="249"/> - </Function> - <Function id="_124" name="wcslen" returns="_1051" throw="" context="_1" location="f6:243" file="f6" line="243" extern="1" attributes="__pure__"> - <Argument name="__s" type="_1430" location="f6:243" file="f6" line="243"/> - </Function> - <Function id="_125" name="wcstok" returns="_1428" throw="" context="_1" location="f6:240" file="f6" line="240" extern="1"> - <Argument name="__s" type="_1428r" location="f6:240" file="f6" line="240"/> - <Argument name="__delim" type="_1430r" location="f6:240" file="f6" line="240"/> - <Argument name="__ptr" type="_1437r" location="f6:240" file="f6" line="240"/> - </Function> - <Function id="_126" name="wcsstr" returns="_1428" throw="" context="_1" location="f6:235" file="f6" line="235" extern="1" attributes="__pure__"> - <Argument name="__haystack" type="_1430" location="f6:235" file="f6" line="235"/> - <Argument name="__needle" type="_1430" location="f6:235" file="f6" line="235"/> - </Function> - <Function id="_127" name="wcspbrk" returns="_1428" throw="" context="_1" location="f6:232" file="f6" line="232" extern="1" attributes="__pure__"> - <Argument name="__wcs" type="_1430" location="f6:232" file="f6" line="232"/> - <Argument name="__accept" type="_1430" location="f6:232" file="f6" line="232"/> - </Function> - <Function id="_128" name="wcsspn" returns="_1051" throw="" context="_1" location="f6:229" file="f6" line="229" extern="1" attributes="__pure__"> - <Argument name="__wcs" type="_1430" location="f6:229" file="f6" line="229"/> - <Argument name="__accept" type="_1430" location="f6:229" file="f6" line="229"/> - </Function> - <Function id="_129" name="wcscspn" returns="_1051" throw="" context="_1" location="f6:225" file="f6" line="225" extern="1" attributes="__pure__"> - <Argument name="__wcs" type="_1430" location="f6:225" file="f6" line="225"/> - <Argument name="__reject" type="_1430" location="f6:225" file="f6" line="225"/> - </Function> - <Function id="_130" name="wcschrnul" returns="_1428" throw="" context="_1" location="f6:218" file="f6" line="218" extern="1" attributes="__pure__"> - <Argument name="__s" type="_1430" location="f6:218" file="f6" line="218"/> - <Argument name="__wc" type="_1436" location="f6:218" file="f6" line="218"/> - </Function> - <Function id="_131" name="wcsrchr" returns="_1428" throw="" context="_1" location="f6:211" file="f6" line="211" extern="1" attributes="__pure__"> - <Argument name="__wcs" type="_1430" location="f6:211" file="f6" line="211"/> - <Argument name="__wc" type="_1436" location="f6:211" file="f6" line="211"/> - </Function> - <Function id="_132" name="wcschr" returns="_1428" throw="" context="_1" location="f6:208" file="f6" line="208" extern="1" attributes="__pure__"> - <Argument name="__wcs" type="_1430" location="f6:208" file="f6" line="208"/> - <Argument name="__wc" type="_1436" location="f6:208" file="f6" line="208"/> - </Function> - <Function id="_133" name="wcsdup" returns="_1428" throw="" context="_1" location="f6:202" file="f6" line="202" extern="1" attributes="__malloc__"> - <Argument name="__s" type="_1430" location="f6:202" file="f6" line="202"/> - </Function> - <Function id="_134" name="wcsxfrm_l" returns="_1051" throw="" context="_1" location="f6:199" file="f6" line="199" extern="1"> - <Argument name="__s1" type="_1428" location="f6:199" file="f6" line="199"/> - <Argument name="__s2" type="_1430" location="f6:199" file="f6" line="199"/> - <Argument name="__n" type="_1051" location="f6:199" file="f6" line="199"/> - <Argument name="__loc" type="_1041" location="f6:199" file="f6" line="199"/> - </Function> - <Function id="_135" name="wcscoll_l" returns="_4" throw="" context="_1" location="f6:193" file="f6" line="193" extern="1"> - <Argument name="__s1" type="_1430" location="f6:193" file="f6" line="193"/> - <Argument name="__s2" type="_1430" location="f6:193" file="f6" line="193"/> - <Argument name="__loc" type="_1041" location="f6:193" file="f6" line="193"/> - </Function> - <Function id="_136" name="wcsxfrm" returns="_1051" throw="" context="_1" location="f6:183" file="f6" line="183" extern="1"> - <Argument name="__s1" type="_1428r" location="f6:183" file="f6" line="183"/> - <Argument name="__s2" type="_1430r" location="f6:183" file="f6" line="183"/> - <Argument name="__n" type="_1051" location="f6:183" file="f6" line="183"/> - </Function> - <Function id="_137" name="wcscoll" returns="_4" throw="" context="_1" location="f6:178" file="f6" line="178" extern="1"> - <Argument name="__s1" type="_1430" location="f6:178" file="f6" line="178"/> - <Argument name="__s2" type="_1430" location="f6:178" file="f6" line="178"/> - </Function> - <Function id="_138" name="wcsncasecmp_l" returns="_4" throw="" context="_1" location="f6:172" file="f6" line="172" extern="1"> - <Argument name="__s1" type="_1430" location="f6:172" file="f6" line="172"/> - <Argument name="__s2" type="_1430" location="f6:172" file="f6" line="172"/> - <Argument name="__n" type="_1051" location="f6:172" file="f6" line="172"/> - <Argument name="__loc" type="_1041" location="f6:172" file="f6" line="172"/> - </Function> - <Function id="_139" name="wcscasecmp_l" returns="_4" throw="" context="_1" location="f6:169" file="f6" line="169" extern="1"> - <Argument name="__s1" type="_1430" location="f6:169" file="f6" line="169"/> - <Argument name="__s2" type="_1430" location="f6:169" file="f6" line="169"/> - <Argument name="__loc" type="_1041" location="f6:169" file="f6" line="169"/> - </Function> - <Function id="_140" name="wcsncasecmp" returns="_4" throw="" context="_1" location="f6:162" file="f6" line="162" extern="1"> - <Argument name="__s1" type="_1430" location="f6:162" file="f6" line="162"/> - <Argument name="__s2" type="_1430" location="f6:162" file="f6" line="162"/> - <Argument name="__n" type="_1051" location="f6:162" file="f6" line="162"/> - </Function> - <Function id="_141" name="wcscasecmp" returns="_4" throw="" context="_1" location="f6:158" file="f6" line="158" extern="1"> - <Argument name="__s1" type="_1430" location="f6:158" file="f6" line="158"/> - <Argument name="__s2" type="_1430" location="f6:158" file="f6" line="158"/> - </Function> - <Function id="_142" name="wcsncmp" returns="_4" throw="" context="_1" location="f6:153" file="f6" line="153" extern="1" attributes="__pure__"> - <Argument name="__s1" type="_1430" location="f6:153" file="f6" line="153"/> - <Argument name="__s2" type="_1430" location="f6:153" file="f6" line="153"/> - <Argument name="__n" type="_1051" location="f6:153" file="f6" line="153"/> - </Function> - <Function id="_143" name="wcscmp" returns="_4" throw="" context="_1" location="f6:150" file="f6" line="150" extern="1" attributes="__pure__"> - <Argument name="__s1" type="_1430" location="f6:150" file="f6" line="150"/> - <Argument name="__s2" type="_1430" location="f6:150" file="f6" line="150"/> - </Function> - <Function id="_144" name="wcsncat" returns="_1428" throw="" context="_1" location="f6:146" file="f6" line="146" extern="1"> - <Argument name="__dest" type="_1428r" location="f6:146" file="f6" line="146"/> - <Argument name="__src" type="_1430r" location="f6:146" file="f6" line="146"/> - <Argument name="__n" type="_1051" location="f6:146" file="f6" line="146"/> - </Function> - <Function id="_145" name="wcscat" returns="_1428" throw="" context="_1" location="f6:142" file="f6" line="142" extern="1"> - <Argument name="__dest" type="_1428r" location="f6:142" file="f6" line="142"/> - <Argument name="__src" type="_1430r" location="f6:142" file="f6" line="142"/> - </Function> - <Function id="_146" name="wcsncpy" returns="_1428" throw="" context="_1" location="f6:138" file="f6" line="138" extern="1"> - <Argument name="__dest" type="_1428r" location="f6:138" file="f6" line="138"/> - <Argument name="__src" type="_1430r" location="f6:138" file="f6" line="138"/> - <Argument name="__n" type="_1051" location="f6:138" file="f6" line="138"/> - </Function> - <Function id="_147" name="wcscpy" returns="_1428" throw="" context="_1" location="f6:134" file="f6" line="134" extern="1"> - <Argument name="__dest" type="_1428r" location="f6:134" file="f6" line="134"/> - <Argument name="__src" type="_1430r" location="f6:134" file="f6" line="134"/> - </Function> - <Struct id="_148" name="__mbstate_t" context="_1" mangled="11__mbstate_t" demangled="__mbstate_t" location="f6:84" file="f6" line="84" size="64" align="32" members="_1453 _1454 _1455 _1456 _1457 " bases=""/> - <Typedef id="_149" name="mbstate_t" type="_148" context="_1" location="f6:95" file="f6" line="95"/> - <Function id="_150" name="toupper_l" returns="_4" throw="" context="_1" location="f7:268" file="f7" line="268" extern="1"> - <Argument name="__c" type="_4" location="f7:268" file="f7" line="268"/> - <Argument name="__l" type="_1041" location="f7:268" file="f7" line="268"/> - </Function> - <Function id="_151" name="__toupper_l" returns="_4" throw="" context="_1" location="f7:267" file="f7" line="267" extern="1"> - <Argument name="__c" type="_4" location="f7:267" file="f7" line="267"/> - <Argument name="__l" type="_1041" location="f7:267" file="f7" line="267"/> - </Function> - <Function id="_152" name="tolower_l" returns="_4" throw="" context="_1" location="f7:264" file="f7" line="264" extern="1"> - <Argument name="__c" type="_4" location="f7:264" file="f7" line="264"/> - <Argument name="__l" type="_1041" location="f7:264" file="f7" line="264"/> - </Function> - <Function id="_153" name="__tolower_l" returns="_4" throw="" context="_1" location="f7:263" file="f7" line="263" extern="1"> - <Argument name="__c" type="_4" location="f7:263" file="f7" line="263"/> - <Argument name="__l" type="_1041" location="f7:263" file="f7" line="263"/> - </Function> - <Function id="_154" name="isblank_l" returns="_4" throw="" context="_1" location="f7:259" file="f7" line="259" extern="1"> - <Argument type="_4" location="f7:259" file="f7" line="259"/> - <Argument type="_1041" location="f7:259" file="f7" line="259"/> - </Function> - <Function id="_155" name="isxdigit_l" returns="_4" throw="" context="_1" location="f7:257" file="f7" line="257" extern="1"> - <Argument type="_4" location="f7:257" file="f7" line="257"/> - <Argument type="_1041" location="f7:257" file="f7" line="257"/> - </Function> - <Function id="_156" name="isupper_l" returns="_4" throw="" context="_1" location="f7:256" file="f7" line="256" extern="1"> - <Argument type="_4" location="f7:256" file="f7" line="256"/> - <Argument type="_1041" location="f7:256" file="f7" line="256"/> - </Function> - <Function id="_157" name="isspace_l" returns="_4" throw="" context="_1" location="f7:255" file="f7" line="255" extern="1"> - <Argument type="_4" location="f7:255" file="f7" line="255"/> - <Argument type="_1041" location="f7:255" file="f7" line="255"/> - </Function> - <Function id="_158" name="ispunct_l" returns="_4" throw="" context="_1" location="f7:254" file="f7" line="254" extern="1"> - <Argument type="_4" location="f7:254" file="f7" line="254"/> - <Argument type="_1041" location="f7:254" file="f7" line="254"/> - </Function> - <Function id="_159" name="isprint_l" returns="_4" throw="" context="_1" location="f7:253" file="f7" line="253" extern="1"> - <Argument type="_4" location="f7:253" file="f7" line="253"/> - <Argument type="_1041" location="f7:253" file="f7" line="253"/> - </Function> - <Function id="_160" name="isgraph_l" returns="_4" throw="" context="_1" location="f7:252" file="f7" line="252" extern="1"> - <Argument type="_4" location="f7:252" file="f7" line="252"/> - <Argument type="_1041" location="f7:252" file="f7" line="252"/> - </Function> - <Function id="_161" name="islower_l" returns="_4" throw="" context="_1" location="f7:251" file="f7" line="251" extern="1"> - <Argument type="_4" location="f7:251" file="f7" line="251"/> - <Argument type="_1041" location="f7:251" file="f7" line="251"/> - </Function> - <Function id="_162" name="isdigit_l" returns="_4" throw="" context="_1" location="f7:250" file="f7" line="250" extern="1"> - <Argument type="_4" location="f7:250" file="f7" line="250"/> - <Argument type="_1041" location="f7:250" file="f7" line="250"/> - </Function> - <Function id="_163" name="iscntrl_l" returns="_4" throw="" context="_1" location="f7:249" file="f7" line="249" extern="1"> - <Argument type="_4" location="f7:249" file="f7" line="249"/> - <Argument type="_1041" location="f7:249" file="f7" line="249"/> - </Function> - <Function id="_164" name="isalpha_l" returns="_4" throw="" context="_1" location="f7:248" file="f7" line="248" extern="1"> - <Argument type="_4" location="f7:248" file="f7" line="248"/> - <Argument type="_1041" location="f7:248" file="f7" line="248"/> - </Function> - <Function id="_165" name="isalnum_l" returns="_4" throw="" context="_1" location="f7:247" file="f7" line="247" extern="1"> - <Argument type="_4" location="f7:247" file="f7" line="247"/> - <Argument type="_1041" location="f7:247" file="f7" line="247"/> - </Function> - <Function id="_166" name="_tolower" returns="_4" throw="" context="_1" location="f7:151" file="f7" line="151" extern="1"> - <Argument type="_4" location="f7:151" file="f7" line="151"/> - </Function> - <Function id="_167" name="_toupper" returns="_4" throw="" context="_1" location="f7:150" file="f7" line="150" extern="1"> - <Argument type="_4" location="f7:150" file="f7" line="150"/> - </Function> - <Function id="_168" name="toascii" returns="_4" throw="" context="_1" location="f7:146" file="f7" line="146" extern="1"> - <Argument name="__c" type="_4" location="f7:146" file="f7" line="146"/> - </Function> - <Function id="_169" name="isascii" returns="_4" throw="" context="_1" location="f7:142" file="f7" line="142" extern="1"> - <Argument name="__c" type="_4" location="f7:142" file="f7" line="142"/> - </Function> - <Function id="_170" name="isctype" returns="_4" throw="" context="_1" location="f7:135" file="f7" line="135" extern="1"> - <Argument name="__c" type="_4" location="f7:135" file="f7" line="135"/> - <Argument name="__mask" type="_4" location="f7:135" file="f7" line="135"/> - </Function> - <Function id="_171" name="isblank" returns="_4" throw="" context="_1" location="f7:128" file="f7" line="128" extern="1"> - <Argument type="_4" location="f7:128" file="f7" line="128"/> - </Function> - <Function id="_172" name="toupper" returns="_4" throw="" context="_1" location="f7:119" file="f7" line="119" extern="1"> - <Argument name="__c" type="_4" location="f7:119" file="f7" line="119"/> - </Function> - <Function id="_173" name="tolower" returns="_4" throw="" context="_1" location="f7:116" file="f7" line="116" extern="1"> - <Argument name="__c" type="_4" location="f7:116" file="f7" line="116"/> - </Function> - <Function id="_174" name="isxdigit" returns="_4" throw="" context="_1" location="f7:112" file="f7" line="112" extern="1"> - <Argument type="_4" location="f7:112" file="f7" line="112"/> - </Function> - <Function id="_175" name="isupper" returns="_4" throw="" context="_1" location="f7:111" file="f7" line="111" extern="1"> - <Argument type="_4" location="f7:111" file="f7" line="111"/> - </Function> - <Function id="_176" name="isspace" returns="_4" throw="" context="_1" location="f7:110" file="f7" line="110" extern="1"> - <Argument type="_4" location="f7:110" file="f7" line="110"/> - </Function> - <Function id="_177" name="ispunct" returns="_4" throw="" context="_1" location="f7:109" file="f7" line="109" extern="1"> - <Argument type="_4" location="f7:109" file="f7" line="109"/> - </Function> - <Function id="_178" name="isprint" returns="_4" throw="" context="_1" location="f7:108" file="f7" line="108" extern="1"> - <Argument type="_4" location="f7:108" file="f7" line="108"/> - </Function> - <Function id="_179" name="isgraph" returns="_4" throw="" context="_1" location="f7:107" file="f7" line="107" extern="1"> - <Argument type="_4" location="f7:107" file="f7" line="107"/> - </Function> - <Function id="_180" name="islower" returns="_4" throw="" context="_1" location="f7:106" file="f7" line="106" extern="1"> - <Argument type="_4" location="f7:106" file="f7" line="106"/> - </Function> - <Function id="_181" name="isdigit" returns="_4" throw="" context="_1" location="f7:105" file="f7" line="105" extern="1"> - <Argument type="_4" location="f7:105" file="f7" line="105"/> - </Function> - <Function id="_182" name="iscntrl" returns="_4" throw="" context="_1" location="f7:104" file="f7" line="104" extern="1"> - <Argument type="_4" location="f7:104" file="f7" line="104"/> - </Function> - <Function id="_183" name="isalpha" returns="_4" throw="" context="_1" location="f7:103" file="f7" line="103" extern="1"> - <Argument type="_4" location="f7:103" file="f7" line="103"/> - </Function> - <Function id="_184" name="isalnum" returns="_4" throw="" context="_1" location="f7:102" file="f7" line="102" extern="1"> - <Argument type="_4" location="f7:102" file="f7" line="102"/> - </Function> - <Function id="_185" name="__ctype_toupper_loc" returns="_1458" context="_1" location="f7:86" file="f7" line="86" extern="1" attributes="const"/> - <Function id="_186" name="__ctype_tolower_loc" returns="_1458" context="_1" location="f7:84" file="f7" line="84" extern="1" attributes="const"/> - <Function id="_187" name="__ctype_b_loc" returns="_1459" context="_1" location="f7:82" file="f7" line="82" extern="1" attributes="const"/> - <Enumeration id="_188" name="._47" context="_1" location="f7:49" file="f7" line="49" artificial="1" size="32" align="32"> - <EnumValue name="_ISupper" init="256"/> - <EnumValue name="_ISlower" init="512"/> - <EnumValue name="_ISalpha" init="1024"/> - <EnumValue name="_ISdigit" init="2048"/> - <EnumValue name="_ISxdigit" init="4096"/> - <EnumValue name="_ISspace" init="8192"/> - <EnumValue name="_ISprint" init="16384"/> - <EnumValue name="_ISgraph" init="32768"/> - <EnumValue name="_ISblank" init="1"/> - <EnumValue name="_IScntrl" init="2"/> - <EnumValue name="_ISpunct" init="4"/> - <EnumValue name="_ISalnum" init="8"/> - </Enumeration> - <Function id="_189" name="__gthread_recursive_mutex_unlock" returns="_4" context="_1" mangled="_Z32__gthread_recursive_mutex_unlockP15pthread_mutex_t" demangled="__gthread_recursive_mutex_unlock(pthread_mutex_t*)" location="f8:612" file="f8" line="612" endline="614" inline="1"> - <Argument name="mutex" type="_1460" location="f8:612" file="f8" line="612"/> - </Function> - <Function id="_190" name="__gthread_recursive_mutex_trylock" returns="_4" context="_1" mangled="_Z33__gthread_recursive_mutex_trylockP15pthread_mutex_t" demangled="__gthread_recursive_mutex_trylock(pthread_mutex_t*)" location="f8:606" file="f8" line="606" endline="608" inline="1"> - <Argument name="mutex" type="_1460" location="f8:606" file="f8" line="606"/> - </Function> - <Function id="_191" name="__gthread_recursive_mutex_lock" returns="_4" context="_1" mangled="_Z30__gthread_recursive_mutex_lockP15pthread_mutex_t" demangled="__gthread_recursive_mutex_lock(pthread_mutex_t*)" location="f8:600" file="f8" line="600" endline="602" inline="1"> - <Argument name="mutex" type="_1460" location="f8:600" file="f8" line="600"/> - </Function> - <Function id="_192" name="__gthread_mutex_unlock" returns="_4" context="_1" mangled="_Z22__gthread_mutex_unlockP15pthread_mutex_t" demangled="__gthread_mutex_unlock(pthread_mutex_t*)" location="f8:569" file="f8" line="569" endline="574" inline... [truncated message content] |
From: <rom...@us...> - 2007-12-24 11:47:09
|
Revision: 1206 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1206&view=rev Author: roman_yakovenko Date: 2007-12-24 03:47:09 -0800 (Mon, 24 Dec 2007) Log Message: ----------- *.rest files clean-up Modified Paths: -------------- index.rest pydsc_dev/docs/pydsc.rest pygccxml_dev/docs/design.rest pygccxml_dev/docs/download.rest pygccxml_dev/docs/example/example.rest pygccxml_dev/docs/history/history.rest pygccxml_dev/docs/links.rest pygccxml_dev/docs/pygccxml.rest pygccxml_dev/docs/query_interface.rest pygccxml_dev/docs/users.rest pyplusplus_dev/docs/comparisons/compare_to.rest pyplusplus_dev/docs/comparisons/pyste.rest pyplusplus_dev/docs/documentation/architecture.rest pyplusplus_dev/docs/documentation/best_practices.rest pyplusplus_dev/docs/documentation/containers.rest pyplusplus_dev/docs/documentation/doc_string.rest pyplusplus_dev/docs/documentation/functions/call_policies.rest pyplusplus_dev/docs/documentation/functions/default_args.rest pyplusplus_dev/docs/documentation/functions/functions.rest pyplusplus_dev/docs/documentation/functions/overloading.rest pyplusplus_dev/docs/documentation/functions/registration_order.rest pyplusplus_dev/docs/documentation/functions/transformation/inout.rest pyplusplus_dev/docs/documentation/functions/transformation/input.rest pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest pyplusplus_dev/docs/documentation/functions/transformation/output.rest pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest pyplusplus_dev/docs/documentation/hints.rest pyplusplus_dev/docs/documentation/how_to.rest pyplusplus_dev/docs/documentation/index.rest pyplusplus_dev/docs/documentation/inserting_code.rest pyplusplus_dev/docs/documentation/multi_module_development.rest pyplusplus_dev/docs/documentation/properties.rest pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest pyplusplus_dev/docs/documentation/tutorials/tutorials.rest pyplusplus_dev/docs/documentation/warnings.rest pyplusplus_dev/docs/download.rest pyplusplus_dev/docs/examples/boost/boost.rest pyplusplus_dev/docs/examples/easybmp/easybmp.rest pyplusplus_dev/docs/examples/examples.rest pyplusplus_dev/docs/history/history.rest pyplusplus_dev/docs/links.rest pyplusplus_dev/docs/osdc2006/presentation-talk.rest pyplusplus_dev/docs/peps/dsl_challenge.rest pyplusplus_dev/docs/peps/peps_index.rest pyplusplus_dev/docs/pyplusplus.rest pyplusplus_dev/docs/quotes.rest pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest Modified: index.rest =================================================================== --- index.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ index.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -84,13 +84,3 @@ .. _`EasyBMP`: http://easybmp.sourceforge.net/ .. _`many others` : ./x.html - - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pydsc_dev/docs/pydsc.rest =================================================================== --- pydsc_dev/docs/pydsc.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pydsc_dev/docs/pydsc.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -68,12 +68,3 @@ .. _`pydsc`: ./pydsc.html .. _`PyEnchant`: http://pyenchant.sourceforge.net/ - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pygccxml_dev/docs/design.rest =================================================================== --- pygccxml_dev/docs/design.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/design.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -288,10 +288,3 @@ .. _`parser package UML diagram` : ./parser_uml.png .. _`ReleaseForge` : http://releaseforge.sourceforge.net .. _`boost::type_traits` : http://www.boost.org/libs/type_traits/index.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/download.rest =================================================================== --- pygccxml_dev/docs/download.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/download.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -72,11 +72,3 @@ .. _`pygccxml` : ./../pygccxml/pygccxml.html .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/example/example.rest =================================================================== --- pygccxml_dev/docs/example/example.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/example/example.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -2,15 +2,17 @@ Example ======= -This directory contains C++ source file, GCC-XML generated file and Python script -that uses `pygccxml`_ to extract information from the source file. +The example consists from few files: +* `example.hpp`_ - C++ source code, this file was passed to GCC-XML +* `example.hpp.xml`_ - xml file, generated by GCC-XML from `example.hpp`_ one +* `example.py`_ - Python script, which uses `pygccxml`_ package to extract the + information about classes and functions +* `output.txt`_ - captured output from executing `example.py`_ file + +.. _`example.hpp`: ./example.hpp.html +.. _`example.hpp.xml`: ./example.hpp.xml.html +.. _`example.py`: ./example.py.html +.. _`output.txt`: ./output.txt.html + .. _`pygccxml`: ./../pygccxml.html - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/history/history.rest =================================================================== --- pygccxml_dev/docs/history/history.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/history/history.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -478,10 +478,3 @@ .. _`pygccxml`: ./../pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/links.rest =================================================================== --- pygccxml_dev/docs/links.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/links.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -20,10 +20,3 @@ .. _`XTI An Extended Type Information Library` : http://lcgapp.cern.ch/project/architecture/XTI_accu.pdf .. _`pygccxml`: ./pygccxml.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/pygccxml.rest =================================================================== --- pygccxml_dev/docs/pygccxml.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/pygccxml.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -141,10 +141,3 @@ .. _`Boost Software License`: http://boost.org/more/license_info.html .. _`Ubuntu`: http://www.ubuntu.com/ .. _`boost::type_traits` : http://www.boost.org/libs/type_traits/index.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/query_interface.rest =================================================================== --- pygccxml_dev/docs/query_interface.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/query_interface.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -296,10 +296,3 @@ .. _`parser package UML diagram` : ./parser_uml.png .. _`ReleaseForge` : http://releaseforge.sourceforge.net .. _`boost::type_traits` : http://www.boost.org/libs/type_traits/index.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/users.rest =================================================================== --- pygccxml_dev/docs/users.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/users.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -8,11 +8,3 @@ that binds a C/C++ library for Python. .. _`PyBindGen` : https://launchpad.net/pybindgen - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/comparisons/compare_to.rest =================================================================== --- pyplusplus_dev/docs/comparisons/compare_to.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/comparisons/compare_to.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -65,13 +65,3 @@ .. _`Py++` : ./../pyplusplus.html .. _`Pyste`: http://www.boost.org/libs/python/doc/index.html - - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/comparisons/pyste.rest =================================================================== --- pyplusplus_dev/docs/comparisons/pyste.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/comparisons/pyste.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -438,11 +438,3 @@ .. _`ReleaseForge` : http://releaseforge.sourceforge.net .. _`boost.type_traits` : http://www.boost.org/libs/type_traits/index.html .. _`elementtree` : http://effbot.org/ -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/architecture.rest =================================================================== --- pyplusplus_dev/docs/documentation/architecture.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/architecture.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -333,11 +333,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/best_practices.rest =================================================================== --- pyplusplus_dev/docs/documentation/best_practices.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/best_practices.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -174,11 +174,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/containers.rest =================================================================== --- pyplusplus_dev/docs/documentation/containers.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/containers.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -197,11 +197,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/doc_string.rest =================================================================== --- pyplusplus_dev/docs/documentation/doc_string.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/doc_string.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -66,10 +66,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/call_policies.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/call_policies.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/call_policies.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -553,10 +553,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/default_args.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/default_args.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/default_args.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -147,10 +147,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/functions.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/functions.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/functions.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -17,11 +17,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/overloading.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/overloading.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/overloading.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -171,11 +171,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/registration_order.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/registration_order.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/registration_order.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -148,11 +148,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/inout.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/inout.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/inout.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -66,10 +66,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/input.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/input.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -59,10 +59,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -73,10 +73,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -76,10 +76,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -70,10 +70,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -84,10 +84,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/output.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/output.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/output.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -64,10 +64,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -76,10 +76,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -36,10 +36,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -69,10 +69,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -124,10 +124,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/hints.rest =================================================================== --- pyplusplus_dev/docs/documentation/hints.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/hints.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -62,10 +62,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/how_to.rest =================================================================== --- pyplusplus_dev/docs/documentation/how_to.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/how_to.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -380,11 +380,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/index.rest =================================================================== --- pyplusplus_dev/docs/documentation/index.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/index.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -100,10 +100,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/inserting_code.rest =================================================================== --- pyplusplus_dev/docs/documentation/inserting_code.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/inserting_code.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -242,10 +242,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/multi_module_development.rest =================================================================== --- pyplusplus_dev/docs/documentation/multi_module_development.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/multi_module_development.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -139,11 +139,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/properties.rest =================================================================== --- pyplusplus_dev/docs/documentation/properties.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/properties.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -164,12 +164,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -168,11 +168,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/tutorials/tutorials.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -61,11 +61,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/warnings.rest =================================================================== --- pyplusplus_dev/docs/documentation/warnings.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/warnings.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -213,10 +213,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/download.rest =================================================================== --- pyplusplus_dev/docs/download.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/download.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -63,10 +63,3 @@ .. _`Py++` : ./pyplusplus.html .. _`pygccxml` : ./../pygccxml/pygccxml.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/examples/boost/boost.rest =================================================================== --- pyplusplus_dev/docs/examples/boost/boost.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/examples/boost/boost.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -263,11 +263,3 @@ .. _`GCC-XML`: http://www.gccxml.org .. _`Py++` : ./../../pyplusplus.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/examples/easybmp/easybmp.rest =================================================================== --- pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -78,11 +78,3 @@ .. _`EasyBMP`: http://easybmp.sourceforge.net/ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/examples/examples.rest =================================================================== --- pyplusplus_dev/docs/examples/examples.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/examples/examples.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -54,11 +54,3 @@ .. _`Py++` : ./../pyplusplus.html .. _`EasyBMP`: http://easybmp.sourceforge.net/ -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/history/history.rest =================================================================== --- pyplusplus_dev/docs/history/history.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/history/history.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -392,11 +392,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/links.rest =================================================================== --- pyplusplus_dev/docs/links.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/links.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -118,11 +118,3 @@ http://www.scons.org/wiki/GCCXMLBuilder - Joseph Lisee shows how to integrate Py++ scripts with Scons. -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/osdc2006/presentation-talk.rest =================================================================== --- pyplusplus_dev/docs/osdc2006/presentation-talk.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/osdc2006/presentation-talk.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -395,10 +395,3 @@ multi-language development plus code generation are very powerfull tools. -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: \ No newline at end of file Modified: pyplusplus_dev/docs/peps/dsl_challenge.rest =================================================================== --- pyplusplus_dev/docs/peps/dsl_challenge.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/peps/dsl_challenge.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -211,11 +211,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/peps/peps_index.rest =================================================================== --- pyplusplus_dev/docs/peps/peps_index.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/peps/peps_index.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -58,11 +58,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/pyplusplus.rest =================================================================== --- pyplusplus_dev/docs/pyplusplus.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/pyplusplus.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -143,12 +143,14 @@ * multiple files + * fixed set of multiple files + * multiple files, where single class code is split to few files * You have full control over generated code. Your code could be inserted almost anywhere. -* Your license is written at the top of every file +* Your license is written at the top of every generated file * `Py++`_ will check the "completeness" of the bindings. It will check for you that the exposed declarations don't have references to unexposed ones. @@ -173,12 +175,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org .. _`Boost Software License`: http://boost.org/more/license_info.html - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/quotes.rest =================================================================== --- pyplusplus_dev/docs/quotes.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/quotes.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -127,10 +127,3 @@ .. _`PyOpenSG` : https://realityforge.vrsource.org/trac/pyopensg .. _`OpenSG` : http://opensg.vrsource.org/trac -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -62,11 +62,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -1,128 +1,120 @@ -==================== -Easy extending guide -==================== - -.. contents:: Table of contents - ------------- -Introduction ------------- - -"... Boost.Python library is designed to wrap C++ interfaces non-intrusively, so that -you should not have to change the C++ code at all in order to wrap it." - -The previous statement is almost true. There are few use cases that the library -doesn't support. This guide will list some of them and will offer few possible -solutions. - -------------------- -Pointer to function -------------------- - -Boost.Python doesn't handle "pointer to function" functionality. You cannot pass -it as function argument or keep it, as a member variable. - -The simple work-around is to use `command design pattern`_ - -.. _`command design pattern` : http://en.wikipedia.org/wiki/Command_pattern - ------------------------------------- -Problematic function arguments types ------------------------------------- - -C arrays --------- - -Boost.Python doesn't handle ``C arrays``, the only exception are ``char*`` and -``wchar_t*``. - -Consider next function: - -.. code-block:: C++ - - int write( int* data, size_t size ); - -The technical reasons are not the only one that prevent Boost.Python to expose such -functions, there is a mental one: such interface is not intuitive for Python -developers. They expect to pass single argument. For example, built-in ``file.write`` -method takes a single argument - sequence of characters. - -Work-around: - - 1. With small help from the developer, Py++ generates code which feets well into - Python developer mental model. Pure virtual member functions are a special - case, which Py++ doesn't handle right now. - - 2. Use STL containers, ``std::vector<...>`` and others. - - -Immutable by reference ----------------------- - -Python defines few fundamental types as "immutable". The value of an instance of -the immutable type could not be changed after construction. Try to avoid passing -the immutable types by reference. - -Immutable types: - - * ``char`` - * ``signed char`` - * ``unsigned char`` - * ``wchar_t`` - * ``short int`` - * ``short unsigned int`` - * ``bool`` - * ``int`` - * ``unsigned int`` - * ``long int`` - * ``long unsigned int`` - * ``long long int`` - * ``long long unsigned int`` - * ``float`` - * ``double`` - * ``long double`` - * ``complex double`` - * ``complex long double`` - * ``complex float`` - * ``std::string`` - * ``std::wstring`` - * C++ ``enum`` is mapped to Python ``int`` type - * smart pointers - -Work around: - - * Just don't pass them by reference :-) - - * With small help from the developer, Py++ generates code which work-arounds - this issue, but the resulting interface is ugly. - -``void*`` ---------- - -In most cases, ``void*`` is used when a developer has to deal with a memory block. -Python provides support for this functionality, but I still didn't find an easy and -intuitive way to expose it. There is no work-around for this issue. - -If you use ``void*`` to pass a reference to some object, than Boost.Python and Py++ -support such use case. - ----------------- -Memory managment ----------------- - -* Use ``std::auto_ptr`` to transfer ownership and responsibility for an object - destruction. - -* The only well supported smart pointer class is ``boost::shared_ptr``. I suggest - you to use it all the time, especially in cases where you want to create object - from Python and pass ownership to C++ code. You don't want the headache associated - with this task. - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - +==================== +Easy extending guide +==================== + +.. contents:: Table of contents + +------------ +Introduction +------------ + +"... Boost.Python library is designed to wrap C++ interfaces non-intrusively, so that +you should not have to change the C++ code at all in order to wrap it." + +The previous statement is almost true. There are few use cases that the library +doesn't support. This guide will list some of them and will offer few possible +solutions. + +------------------- +Pointer to function +------------------- + +Boost.Python doesn't handle "pointer to function" functionality. You cannot pass +it as function argument or keep it, as a member variable. + +The simple work-around is to use `command design pattern`_ + +.. _`command design pattern` : http://en.wikipedia.org/wiki/Command_pattern + +------------------------------------ +Problematic function arguments types +------------------------------------ + +C arrays +-------- + +Boost.Python doesn't handle ``C arrays``, the only exception are ``char*`` and +``wchar_t*``. + +Consider next function: + +.. code-block:: C++ + + int write( int* data, size_t size ); + +The technical reasons are not the only one that prevent Boost.Python to expose such +functions, there is a mental one: such interface is not intuitive for Python +developers. They expect to pass single argument. For example, built-in ``file.write`` +method takes a single argument - sequence of characters. + +Work-around: + + 1. With small help from the developer, Py++ generates code which feets well into + Python developer mental model. Pure virtual member functions are a special + case, which Py++ doesn't handle right now. + + 2. Use STL containers, ``std::vector<...>`` and others. + + +Immutable by reference +---------------------- + +Python defines few fundamental types as "immutable". The value of an instance of +the immutable type could not be changed after construction. Try to avoid passing +the immutable types by reference. + +Immutable types: + + * ``char`` + * ``signed char`` + * ``unsigned char`` + * ``wchar_t`` + * ``short int`` + * ``short unsigned int`` + * ``bool`` + * ``int`` + * ``unsigned int`` + * ``long int`` + * ``long unsigned int`` + * ``long long int`` + * ``long long unsigned int`` + * ``float`` + * ``double`` + * ``long double`` + * ``complex double`` + * ``complex long double`` + * ``complex float`` + * ``std::string`` + * ``std::wstring`` + * C++ ``enum`` is mapped to Python ``int`` type + * smart pointers + +Work around: + + * Just don't pass them by reference :-) + + * With small help from the developer, Py++ generates code which work-arounds + this issue, but the resulting interface is ugly. + +``void*`` +--------- + +In most cases, ``void*`` is used when a developer has to deal with a memory block. +Python provides support for this functionality, but I still didn't find an easy and +intuitive way to expose it. There is no work-around for this issue. + +If you use ``void*`` to pass a reference to some object, than Boost.Python and Py++ +support such use case. + +---------------- +Memory managment +---------------- + +* Use ``std::auto_ptr`` to transfer ownership and responsibility for an object + destruction. + +* The only well supported smart pointer class is ``boost::shared_ptr``. I suggest + you to use it all the time, especially in cases where you want to create object + from Python and pass ownership to C++ code. You don't want the headache associated + with this task. + Modified: pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -72,11 +72,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -42,11 +42,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -95,11 +95,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -45,11 +45,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-21 21:29:09
|
Revision: 1205 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1205&view=rev Author: roman_yakovenko Date: 2007-12-21 13:29:10 -0800 (Fri, 21 Dec 2007) Log Message: ----------- has_trivial_constructor - small buf was fixed - only public constructors are taken into account Modified Paths: -------------- pygccxml_dev/pygccxml/declarations/type_traits.py pygccxml_dev/unittests/data/type_traits.hpp pygccxml_dev/unittests/find_container_traits_tester.py pygccxml_dev/unittests/templates_tester.py Modified: pygccxml_dev/pygccxml/declarations/type_traits.py =================================================================== --- pygccxml_dev/pygccxml/declarations/type_traits.py 2007-12-14 20:29:44 UTC (rev 1204) +++ pygccxml_dev/pygccxml/declarations/type_traits.py 2007-12-21 21:29:10 UTC (rev 1205) @@ -378,9 +378,8 @@ logger.debug( true_header + "class doesn't have any user defined constructor and it is copyable" ) return True else: - if None != find_trivial_constructor( type ): - return True - return False + cons = find_trivial_constructor( type ) + return cons and cons.access_type == 'public' """ Question: Do I have to define a copy constructor and assignment operator? Modified: pygccxml_dev/unittests/data/type_traits.hpp =================================================================== --- pygccxml_dev/unittests/data/type_traits.hpp 2007-12-14 20:29:44 UTC (rev 1204) +++ pygccxml_dev/unittests/data/type_traits.hpp 2007-12-21 21:29:10 UTC (rev 1205) @@ -538,6 +538,17 @@ struct const_item{ const int values[10]; }; struct const_container{ const const_item items[10]; }; + class singleton_t + { + private: + static singleton_t *m_instance; + + singleton_t () {} + ~singleton_t () {} + + public: + static singleton_t* instance(); + }; } } namespace has_public_constructor{ Modified: pygccxml_dev/unittests/find_container_traits_tester.py =================================================================== --- pygccxml_dev/unittests/find_container_traits_tester.py 2007-12-14 20:29:44 UTC (rev 1204) +++ pygccxml_dev/unittests/find_container_traits_tester.py 2007-12-21 21:29:10 UTC (rev 1205) @@ -61,6 +61,11 @@ t1 = declarations.class_traits.get_declaration( f1.arguments[0].type ) self.failUnless( 'type< std::set< std::vector< int > > >' == t1.partial_name ) + def test_from_ogre( self ): + x = 'map<std::string, bool (*)(std::string&, Ogre::MaterialScriptContext&), std::less<std::string>, std::allocator<std::pair<std::string const, bool (*)(std::string&, Ogre::MaterialScriptContext&)> > >' + ct = declarations.find_container_traits( x ) + y = ct.remove_defaults( x ) + def create_suite(): suite = unittest.TestSuite() suite.addTest( unittest.makeSuite(tester_t)) Modified: pygccxml_dev/unittests/templates_tester.py =================================================================== --- pygccxml_dev/unittests/templates_tester.py 2007-12-14 20:29:44 UTC (rev 1204) +++ pygccxml_dev/unittests/templates_tester.py 2007-12-21 21:29:10 UTC (rev 1205) @@ -59,6 +59,11 @@ def test_bug_is_tmpl_inst(self): self.failUnless( False == declarations.templates.is_instantiation( "::FX::QMemArray<unsigned char>::setRawData" ) ) + def test_split_bug_fptr(self): + x = 'map<std::string, bool (*)(std::string&, Ogre::MaterialScriptContext&), std::less<std::string>, std::allocator<std::pair<std::string const, bool (*)(std::string&, Ogre::MaterialScriptContext&)> > >' + name, args = declarations.templates.split( x ) + self.failUnless( len(x) == 4 ) + def create_suite(): suite = unittest.TestSuite() suite.addTest( unittest.makeSuite(tester_t)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-14 20:29:42
|
Revision: 1204 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1204&view=rev Author: roman_yakovenko Date: 2007-12-14 12:29:44 -0800 (Fri, 14 Dec 2007) Log Message: ----------- removing link unit Modified Paths: -------------- website/templates/online/page_template.html Modified: website/templates/online/page_template.html =================================================================== --- website/templates/online/page_template.html 2007-12-12 09:10:21 UTC (rev 1203) +++ website/templates/online/page_template.html 2007-12-14 20:29:44 UTC (rev 1204) @@ -59,28 +59,7 @@ </script> </div> <div class="rest_document"> - <div class="middle_ads"> - <script type="text/javascript"><!-- - google_ad_client = "pub-0886572017808006"; - google_ad_width = 468; - google_ad_height = 15; - google_ad_format = "468x15_0ads_al"; - //2007-03-01: top-link-unit - google_ad_channel = "4551309584"; - google_color_border = "FFFFFF"; - google_color_bg = "FFFFFF"; - google_color_link = "0033CC"; - google_color_text = "0033CC"; - google_color_url = "0033CC"; - //--></script> - <script type="text/javascript" - src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> - <!-- xml kid bug --> - </script> - </div> - <!-- google_ad_section_start --> ${ XML(page_content) } - <!-- google_ad_section_end --> </div> <div class="bottom"> <script type="text/javascript"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-12 09:10:23
|
Revision: 1203 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1203&view=rev Author: roman_yakovenko Date: 2007-12-12 01:10:21 -0800 (Wed, 12 Dec 2007) Log Message: ----------- adding new file writer balanced_files.py Modified Paths: -------------- pyplusplus_dev/pyplusplus/file_writers/__init__.py pyplusplus_dev/pyplusplus/file_writers/multiple_files.py pyplusplus_dev/pyplusplus/module_builder/builder.py pyplusplus_dev/pyplusplus/utils/__init__.py pyplusplus_dev/unittests/test_all.py Added Paths: ----------- pyplusplus_dev/pyplusplus/file_writers/balanced_files.py pyplusplus_dev/unittests/balanced_files_tester.py pyplusplus_dev/unittests/data/balanced_files_to_be_exported.hpp Modified: pyplusplus_dev/pyplusplus/file_writers/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/__init__.py 2007-12-11 10:21:11 UTC (rev 1202) +++ pyplusplus_dev/pyplusplus/file_writers/__init__.py 2007-12-12 09:10:21 UTC (rev 1203) @@ -20,6 +20,7 @@ from writer import writer_t from single_file import single_file_t from multiple_files import multiple_files_t +from balanced_files import balanced_files_t from class_multiple_files import class_multiple_files_t from md5sum_repository import repository_t from md5sum_repository import cached_repository_t @@ -45,6 +46,12 @@ mfs.write() return mfs.written_files +def write_balanced_files( extmodule, dir_path, number_of_buckets, files_sum_repository=None, encoding='ascii' ): + """writes extmodule to fixed number of multiple cpp files""" + mfs = balanced_files_t( extmodule, dir_path, number_of_buckets, files_sum_repository=files_sum_repository, encoding=encoding ) + mfs.write() + return mfs.written_files + def write_class_multiple_files( extmodule, dir_path, huge_classes, files_sum_repository, encoding='ascii' ): """writes extmodule to multiple files and splits huge classes to few source files""" mfs = class_multiple_files_t( extmodule, dir_path, huge_classes, files_sum_repository=files_sum_repository, encoding=encoding ) Added: pyplusplus_dev/pyplusplus/file_writers/balanced_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/balanced_files.py (rev 0) +++ pyplusplus_dev/pyplusplus/file_writers/balanced_files.py 2007-12-12 09:10:21 UTC (rev 1203) @@ -0,0 +1,64 @@ +# Copyright 2004 Giovanni Beltrame +# Distributed under the Boost Software License, Version 1.0. (See +# accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +"""defines a class that writes L{code_creators.module_t} to multiple files""" + +import os +import math +import multiple_files +from pyplusplus import messages +from pyplusplus import _logging_ +from pygccxml import declarations +from pyplusplus import decl_wrappers +from pyplusplus import code_creators +from pyplusplus.utils import split_sequence + +#TODO: to add namespace_alias_t classes +class balanced_files_t(multiple_files.multiple_files_t): + """ + This class implements classic strategy of deviding classes to files + one class in one header + source files. + """ + HEADER_EXT = '.pypp.hpp' + SOURCE_EXT = '.pypp.cpp' + + def __init__( self + , extmodule + , directory_path + , number_of_buckets + , write_main=True + , files_sum_repository=None + , encoding='ascii'): + """Constructor. + + @param extmodule: The root of a code creator tree + @type extmodule: module_t + @param directory_path: The output directory where the source files are written + @type directory_path: str + + @param write_main: if it is True, the class will write out a main file + that calls all the registration methods. + @type write_main: boolean + """ + multiple_files.multiple_files_t.__init__( self, extmodule, directory_path, write_main, files_sum_repository, encoding) + self.number_of_buckets = number_of_buckets + + def split_classes( self ): + class_creators = filter( lambda x: isinstance(x, ( code_creators.class_t, code_creators.class_declaration_t ) ) + , self.extmodule.body.creators ) + + class_creators = filter( lambda cc: not cc.declaration.already_exposed + , class_creators ) + + buckets = split_sequence(class_creators, len(class_creators)/self.number_of_buckets ) + if len(buckets) > self.number_of_buckets: + buckets[len(buckets)-2] += buckets[len(buckets)-1] + buckets = buckets[:len(buckets)-1] + + for index, bucket in enumerate( buckets ): + self.split_creators( bucket + , '_classes_%d' % (index+1) + , 'register_classes_%d' % (index+1) + , -1 ) Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2007-12-11 10:21:11 UTC (rev 1202) +++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2007-12-12 09:10:21 UTC (rev 1203) @@ -290,6 +290,13 @@ self.logger.error( os.linesep.join( msg ) ) raise + def split_classes( self ): + # Obtain a list of all class creators... + class_creators = filter( lambda x: isinstance(x, ( code_creators.class_t, code_creators.class_declaration_t ) ) + , self.extmodule.body.creators ) + # ...and write a .h/.cpp file for each class + map( self.split_class, class_creators ) + def create_value_traits_header_name( self, value_class ): return "_" + value_class.alias + "__value_traits" + self.HEADER_EXT @@ -308,6 +315,9 @@ , value_traits.create() ) ) value_traits.create = lambda: '' + def split_values_traits( self ): + map( self.split_value_traits, self.__value_traits ) + def split_creators( self, creators, pattern, function_name, registrator_pos ): """Write non-class creators into a particular .h/.cpp file. @@ -379,14 +389,8 @@ self.extmodule.do_include_dirs_optimization() - map( self.split_value_traits, self.__value_traits ) - - # Obtain a list of all class creators... - class_creators = filter( lambda x: isinstance(x, ( code_creators.class_t, code_creators.class_declaration_t ) ) - , self.extmodule.body.creators ) - # ...and write a .h/.cpp file for each class - map( self.split_class, class_creators ) - + self.split_values_traits() + self.split_classes() self.split_enums() self.split_global_variables() self.split_free_functions() Modified: pyplusplus_dev/pyplusplus/module_builder/builder.py =================================================================== --- pyplusplus_dev/pyplusplus/module_builder/builder.py 2007-12-11 10:21:11 UTC (rev 1202) +++ pyplusplus_dev/pyplusplus/module_builder/builder.py 2007-12-12 09:10:21 UTC (rev 1203) @@ -317,6 +317,20 @@ self.__merge_user_code() file_writers.write_file( self.code_creator, file_name, encoding=self.encoding ) + def __work_on_unused_files( self, dir_name, written_files, on_unused_file_found ): + all_files = os.listdir( dir_name ) + all_files = map( lambda fname: os.path.join( dir_name, fname ), all_files ) + all_files = filter( file_writers.has_pypp_extenstion, all_files ) + + unused_files = set( all_files ).difference( set( written_files ) ) + for fpath in unused_files: + try: + if on_unused_file_found is os.remove: + self.logger.info( 'removing file "%s"' % fpath ) + on_unused_file_found( fpath ) + except Exception, error: + self.logger.exception( "Exception was catched, while executing 'on_unused_file_found' function." ) + def split_module( self , dir_name , huge_classes=None @@ -358,22 +372,49 @@ , huge_classes , files_sum_repository=files_sum_repository , encoding=self.encoding) + self.__work_on_unused_files( dir_name, written_files, on_unused_file_found ) - all_files = os.listdir( dir_name ) - all_files = map( lambda fname: os.path.join( dir_name, fname ), all_files ) - all_files = filter( file_writers.has_pypp_extenstion, all_files ) + return written_files - unused_files = set( all_files ).difference( set( written_files ) ) - for fpath in unused_files: - try: - if on_unused_file_found is os.remove: - self.logger.info( 'removing file "%s"' % fpath ) - on_unused_file_found( fpath ) - except Exception, error: - self.logger.exception( "Exception was catched, while executing 'on_unused_file_found' function." ) + def balanced_split_module( self + , dir_name + , number_of_files + , on_unused_file_found=os.remove + , use_files_sum_repository=True): + """ + Writes module to fixed number of multiple cpp files + @param number_of_files: the desired number of generated cpp files + @type number_of_files: int + + @param dir_name: directory name + @type dir_name: string + + @param on_unused_file_found: callable object that represents the action that should be taken on + file, which is no more in use + + @use_files_sum_repository: Py++ can generate file, which will contain md5 sum of every generated file. + Next time you generate code, md5sum will be loaded from the file and compared. + This could speed-up code generation process by 10-15%. + """ + self.__merge_user_code() + + files_sum_repository = None + if use_files_sum_repository: + cache_file = os.path.join( dir_name, self.code_creator.body.name + '.md5.sum' ) + files_sum_repository = file_writers.cached_repository_t( cache_file ) + + written_files = file_writers.write_balanced_files( self.code_creator + , dir_name + , number_of_buckets=number_of_files + , files_sum_repository=files_sum_repository + , encoding=self.encoding) + + self.__work_on_unused_files( dir_name, written_files, on_unused_file_found ) + return written_files + #select decl(s) interfaces def decl( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): """Please see L{decl_wrappers.scopedef_t} class documentation""" Modified: pyplusplus_dev/pyplusplus/utils/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/utils/__init__.py 2007-12-11 10:21:11 UTC (rev 1202) +++ pyplusplus_dev/pyplusplus/utils/__init__.py 2007-12-12 09:10:21 UTC (rev 1203) @@ -40,7 +40,7 @@ creator.parent.remove_creator( creator ) def split_sequence(seq, bucket_size): - #split sequence to buclets, where every will contain maximum bucket_size items + #split sequence to buckets, where every will contain maximum bucket_size items seq_len = len( seq ) if seq_len <= bucket_size: return [ seq ] Added: pyplusplus_dev/unittests/balanced_files_tester.py =================================================================== --- pyplusplus_dev/unittests/balanced_files_tester.py (rev 0) +++ pyplusplus_dev/unittests/balanced_files_tester.py 2007-12-12 09:10:21 UTC (rev 1203) @@ -0,0 +1,88 @@ +# Copyright 2004 Roman Yakovenko. +# Distributed under the Boost Software License, Version 1.0. (See +# accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +import os +import sys +import unittest +import autoconfig +from pyplusplus import utils +import fundamental_tester_base +from pygccxml import declarations +from pyplusplus import module_builder +from pyplusplus.module_builder import call_policies + +class tester_t(fundamental_tester_base.fundamental_tester_base_t): + EXTENSION_NAME = 'balanced_files' + + def __init__( self, *args ): + fundamental_tester_base.fundamental_tester_base_t.__init__( + self + , tester_t.EXTENSION_NAME + , indexing_suite_version=1 + , *args ) + self.files = [] + + def customize( self, mb ): + mb.global_ns.exclude() + + nm_t = declarations.remove_declarated( mb.global_ns.typedef( 'naive_matrix_t' ).type ) + nm_t.include() + + exposed_db = utils.exposed_decls_db_t() + + exposed_db.register_decls( mb.global_ns ) + exposed_db.save( autoconfig.build_dir ) + mb.register_module_dependency( autoconfig.build_dir ) + + sm = mb.global_ns.namespace( name='split_module' ) + sm.include() + sm.class_( 'op_struct' ).exclude() + + mb.free_function( 'check_overload' ).add_declaration_code( '//hello check_overload' ) + mb.free_function( 'get_opaque' ).add_declaration_code( '//hello get_opaque' ) + + mb.calldefs( 'check_overload' ).use_overload_macro = True + mb.calldefs( 'get_opaque' ).call_policies \ + = call_policies.return_value_policy( call_policies.return_opaque_pointer ) + + mb.class_( 'op_struct' ).exclude() + item = mb.class_( 'item_t' ) + item.add_declaration_code( '//hello world' ) + nested = item.class_( 'nested_t' ) + nested.add_declaration_code( '//hello nested decl' ) + nested.add_registration_code( '//hello nested reg', False ) + mb.free_fun( 'create_empty_mapping' ).include() + + def generate_source_files( self, mb ): + files = mb.balanced_split_module( autoconfig.build_dir, 2, on_unused_file_found=lambda fpath: fpath ) + self.files = filter( lambda fname: fname.endswith( 'cpp' ), files ) + + def get_source_files( self ): + return self.files + + def run_tests(self, module): + module.get_opaque() + item = module.item_t() + item.get_opaque() + module.check_overload() + item.check_overload() + item = module.TestClass1() + if item.func() != 1: raise Exception + item = module.TestClass2() + if item.func() != 2: raise Exception + item = module.TestClass3() + if item.func() != 3: raise Exception + + +def create_suite(): + suite = unittest.TestSuite() + suite.addTest( unittest.makeSuite(tester_t)) + return suite + +def run_suite(): + unittest.TextTestRunner(verbosity=2).run( create_suite() ) + +if __name__ == "__main__": + run_suite() Added: pyplusplus_dev/unittests/data/balanced_files_to_be_exported.hpp =================================================================== --- pyplusplus_dev/unittests/data/balanced_files_to_be_exported.hpp (rev 0) +++ pyplusplus_dev/unittests/data/balanced_files_to_be_exported.hpp 2007-12-12 09:10:21 UTC (rev 1203) @@ -0,0 +1,90 @@ +// Copyright 2004 Roman Yakovenko. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef __split_module_to_be_exported_hpp__ +#define __split_module_to_be_exported_hpp__ + +#include "boost/shared_ptr.hpp" +//#include BOOST_HASH_MAP_HEADER +#include <map> +#include <vector> +#include <string> + +namespace split_module{ + +typedef std::vector< std::vector< int > > naive_matrix_t; + +class TestClass1 { + +public: + int func() { + return 1; + } + +}; + +class TestClass2 { + +public: + int func() { + return 2; + } + +}; + +class TestClass3 { + +public: + int func() { + return 3; + } +}; + + +inline naive_matrix_t create_zero_matrix( unsigned int x ){ + return naive_matrix_t(); +}; + + +struct op_struct{}; + +inline op_struct* get_opaque(){ + return 0; +} + +inline void check_overload( int i=0, int j=1, int k=2 ){ +} + + +struct item_t{ + + enum EColor{ red, blue }; + enum EFruit{ apple, orange }; + + item_t(){} + item_t( int ){} + + void do_nothing(){} + int do_something(){ return 1; } + + op_struct* get_opaque(){ return 0; } + + void check_overload( int i=0, int j=1, int k=2 ){} + + int m_dummy; + + struct nested_t{}; +}; + +//typedef BOOST_STD_EXTENSION_NAMESPACE::hash_map< std::string, boost::shared_ptr< item_t > > str2item_t; +typedef std::map< std::string, boost::shared_ptr< item_t > > str2item_t; +inline str2item_t create_empty_mapping(){ + return str2item_t(); +} + +} + + +#endif//__split_module_to_be_exported_hpp__ Modified: pyplusplus_dev/unittests/test_all.py =================================================================== --- pyplusplus_dev/unittests/test_all.py 2007-12-11 10:21:11 UTC (rev 1202) +++ pyplusplus_dev/unittests/test_all.py 2007-12-12 09:10:21 UTC (rev 1203) @@ -97,6 +97,7 @@ import vector_with_shared_data_tester import constructors_bug_tester import precompiled_header_tester +import balanced_files_tester testers = [ @@ -182,6 +183,7 @@ , templates_tester , constructors_bug_tester , precompiled_header_tester + , balanced_files_tester ] class module_runner_t( object ): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-11 10:21:07
|
Revision: 1202 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1202&view=rev Author: roman_yakovenko Date: 2007-12-11 02:21:11 -0800 (Tue, 11 Dec 2007) Log Message: ----------- replace name with partial name Modified Paths: -------------- pyplusplus_dev/docs/links.rest pyplusplus_dev/pyplusplus/code_creators/calldef.py pyplusplus_dev/pyplusplus/messages/warnings_.py pyplusplus_dev/unittests/ogre_generate_tester.py Modified: pyplusplus_dev/docs/links.rest =================================================================== --- pyplusplus_dev/docs/links.rest 2007-12-10 21:29:19 UTC (rev 1201) +++ pyplusplus_dev/docs/links.rest 2007-12-11 10:21:11 UTC (rev 1202) @@ -111,7 +111,12 @@ * http://www.shocksolution.com/math_tools/boost.python/index.html - this site contains few usefull Boost.Python examples and tutorials. +------------- +Build systems +------------- +http://www.scons.org/wiki/GCCXMLBuilder - Joseph Lisee shows how to integrate +Py++ scripts with Scons. .. Local Variables: Modified: pyplusplus_dev/pyplusplus/code_creators/calldef.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-12-10 21:29:19 UTC (rev 1201) +++ pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-12-11 10:21:11 UTC (rev 1202) @@ -126,7 +126,7 @@ if not self.works_on_instance: #indenting and adding scope code = ''.join( result ) - result = [ '{ //%s' % declarations.full_name( self.declaration ) ] + result = [ '{ //%s' % declarations.full_name( self.declaration, with_defaults=False ) ] result.append( os.linesep * 2 ) result.append( self.indent( code ) ) result.append( os.linesep * 2 ) @@ -196,17 +196,14 @@ return 'typedef ' + f_type.create_typedef( self.function_type_alias, with_defaults=False ) + ';' def create_function_ref_code(self, use_function_alias=False): + fname = declarations.full_name( self.declaration, with_defaults=False ) if use_function_alias: - return '%s( &%s )' \ - % ( self.function_type_alias, declarations.full_name( self.declaration ) ) + return '%s( &%s )' % ( self.function_type_alias, fname ) elif self.declaration.create_with_signature: - return '(%s)( &%s )' \ - % ( self.declaration.function_type().partial_decl_string - , declarations.full_name( self.declaration ) ) + return '(%s)( &%s )' % ( self.declaration.function_type().partial_decl_string, fname ) else: - return '&%s' % declarations.full_name( self.declaration ) + return '&%s' % fname - class mem_fun_t( calldef_t ): def __init__( self, function ): calldef_t.__init__( self, function=function ) @@ -216,17 +213,14 @@ return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias, with_defaults=False ) def create_function_ref_code(self, use_function_alias=False): + fname = declarations.full_name( self.declaration, with_defaults=False ) if use_function_alias: - return '%s( &%s )' \ - % ( self.function_type_alias, declarations.full_name( self.declaration ) ) + return '%s( &%s )' % ( self.function_type_alias, fname ) elif self.declaration.create_with_signature: - return '(%s)( &%s )' \ - % ( self.declaration.function_type().decl_string - , declarations.full_name( self.declaration ) ) + return '(%s)( &%s )' % ( self.declaration.function_type().partial_decl_string, fname ) else: - return '&%s' % declarations.full_name( self.declaration ) + return '&%s' % fname - class mem_fun_pv_t( calldef_t ): def __init__( self, function, wrapper ): calldef_t.__init__( self, function=function, wrapper=wrapper ) @@ -236,20 +230,19 @@ return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias ) def create_function_ref_code(self, use_function_alias=False): + fname = declarations.full_name( self.declaration, with_defaults=False ) if use_function_alias: return '%s( %s(&%s) )' \ % ( self.pure_virtual_identifier() , self.function_type_alias - , declarations.full_name( self.declaration ) ) + , fname ) elif self.declaration.create_with_signature: return '%s( (%s)(&%s) )' \ % ( self.pure_virtual_identifier() - , self.declaration.function_type().decl_string - , declarations.full_name( self.declaration ) ) + , self.declaration.function_type().partial_decl_string + , fname ) else: - return '%s( &%s )' \ - % ( self.pure_virtual_identifier() - , declarations.full_name( self.declaration ) ) + return '%s( &%s )' % ( self.pure_virtual_identifier(), fname) class mem_fun_pv_wrapper_t( calldef_wrapper_t ): def __init__( self, function ): @@ -263,7 +256,7 @@ constness = ' const ' return template % { - 'return_type' : self.declaration.return_type.decl_string + 'return_type' : self.declaration.return_type.partial_decl_string , 'name' : self.declaration.name , 'args' : self.args_declaration() , 'constness' : constness @@ -318,24 +311,25 @@ return None def create_function_ref_code(self, use_function_alias=False): + fname = declarations.full_name( self.declaration, with_defaults=False ) result = [] if use_function_alias: - result.append( '%s(&%s)' - % ( self.function_type_alias, declarations.full_name( self.declaration ) ) ) + result.append( '%s(&%s)' % ( self.function_type_alias, fname) ) if self.wrapper: result.append( self.param_sep() ) result.append( '%s(&%s)' % ( self.default_function_type_alias, self.wrapper.default_full_name() ) ) elif self.declaration.create_with_signature: result.append( '(%s)(&%s)' - % ( self.declaration.function_type().decl_string - , declarations.full_name( self.declaration ) ) ) + % ( self.declaration.function_type().partial_decl_string + , fname) ) if self.wrapper: result.append( self.param_sep() ) result.append( '(%s)(&%s)' - % ( self.wrapper.function_type().decl_string, self.wrapper.default_full_name() ) ) + % ( self.wrapper.function_type().partial_decl_string + , self.wrapper.default_full_name() ) ) else: - result.append( '&%s'% declarations.full_name( self.declaration ) ) + result.append( '&%s'% fname ) if self.wrapper: result.append( self.param_sep() ) result.append( '&%s' % self.wrapper.default_full_name() ) @@ -801,7 +795,7 @@ #Function parameters declared consts are ignored by C++ #except for the purpose of function definitions temp = declarations.remove_const( temp ) - return algorithm.create_identifier( self, temp.decl_string ) + return algorithm.create_identifier( self, temp.partial_decl_string ) def _generate_definition_args(self): answer = [] Modified: pyplusplus_dev/pyplusplus/messages/warnings_.py =================================================================== --- pyplusplus_dev/pyplusplus/messages/warnings_.py 2007-12-10 21:29:19 UTC (rev 1201) +++ pyplusplus_dev/pyplusplus/messages/warnings_.py 2007-12-11 10:21:11 UTC (rev 1202) @@ -215,6 +215,8 @@ warnings = globals() +all_warning_msgs = [] + for identifier, explanation in warnings.items(): if len( identifier ) != 5: continue @@ -225,7 +227,10 @@ except: continue msg = '%s %s: %s' % ( explanation.__class__.prefix, identifier, str(explanation) ) - globals()[ identifier ] = explanation.__class__( msg, identifier ) + msg_inst = explanation.__class__( msg, identifier ) + globals()[ identifier ] = msg_inst + all_warning_msgs.append( msg_inst ) + del warnings del identifier Modified: pyplusplus_dev/unittests/ogre_generate_tester.py =================================================================== --- pyplusplus_dev/unittests/ogre_generate_tester.py 2007-12-10 21:29:19 UTC (rev 1201) +++ pyplusplus_dev/unittests/ogre_generate_tester.py 2007-12-11 10:21:11 UTC (rev 1202) @@ -6,10 +6,12 @@ import os import sys import shutil +import logging import unittest import autoconfig from pygccxml import parser from pygccxml import declarations +from pyplusplus import messages from pyplusplus import code_creators from pyplusplus import module_creator from pyplusplus import module_builder @@ -18,6 +20,9 @@ class ogre_generate_tester_t(unittest.TestCase): def test(self): + module_builder.set_logger_level( logging.CRITICAL ) + messages.disable( *messages.all_warning_msgs ) + ogre_file = autoconfig.data_directory.replace( 'pyplusplus_dev', 'pygccxml_dev' ) ogre_file = parser.create_gccxml_fc( os.path.join( ogre_file, 'ogre1.4.xml' ) ) @@ -25,9 +30,16 @@ [ ogre_file ] , gccxml_path=autoconfig.gccxml.executable , indexing_suite_version=2) + mb.global_ns.exclude() mb.namespace('Ogre').include() + x = mb.global_ns.decls( lambda d: 'Animation*' in d.name and 'MapIterator' in d.name ) + for y in x: + print y.name + print y.partial_name + print declarations.full_name( y, with_defaults=False ) + target_dir = os.path.join( autoconfig.build_directory, 'ogre' ) if os.path.exists( target_dir ): shutil.rmtree( target_dir ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-10 21:29:16
|
Revision: 1201 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1201&view=rev Author: roman_yakovenko Date: 2007-12-10 13:29:19 -0800 (Mon, 10 Dec 2007) Log Message: ----------- improving partial name implementation Modified Paths: -------------- pygccxml_dev/docs/pygccxml.rest pygccxml_dev/pygccxml/declarations/class_declaration.py pygccxml_dev/pygccxml/declarations/container_traits.py pygccxml_dev/pygccxml/declarations/enumeration.py pygccxml_dev/pygccxml/parser/scanner.py pygccxml_dev/unittests/core_tester.py pygccxml_dev/unittests/data/core_cache.hpp pygccxml_dev/unittests/data/remove_template_defaults.hpp pygccxml_dev/unittests/find_container_traits_tester.py Modified: pygccxml_dev/docs/pygccxml.rest =================================================================== --- pygccxml_dev/docs/pygccxml.rest 2007-12-10 17:06:45 UTC (rev 1200) +++ pygccxml_dev/docs/pygccxml.rest 2007-12-10 21:29:19 UTC (rev 1201) @@ -128,7 +128,7 @@ `pygccxml`_ comes with comprehensive unit tests. It is running on Windows XP and `Ubuntu`_. I am using `Python`_ 2.4\\2.5 and `GCC-XML`_ CVS. `pygccxml`_ has -more then 170 tests. They test almost every piece of code. It also has performance +more then 215 tests. They test almost every piece of code. It also has performance tests. Most of the time I am using "white box" testing strategy. .. _`WSDL`: http://www.w3.org/TR/wsdl Modified: pygccxml_dev/pygccxml/declarations/class_declaration.py =================================================================== --- pygccxml_dev/pygccxml/declarations/class_declaration.py 2007-12-10 17:06:45 UTC (rev 1200) +++ pygccxml_dev/pygccxml/declarations/class_declaration.py 2007-12-10 21:29:19 UTC (rev 1201) @@ -40,8 +40,6 @@ elif templates.is_instantiation( name ): tmpl_name, args = templates.split( name ) for i, arg_name in enumerate( args ): - print i, ' : ', get_partial_name( arg_name.strip() ) - print args[i] = get_partial_name( arg_name.strip() ) return templates.join( tmpl_name, args ) else: @@ -125,10 +123,7 @@ return self._container_traits def _get_partial_name_impl( self ): - #~ return get_partial_name( self.name ) - if not self.container_traits: - return self.name - return self.container_traits.remove_defaults( self ) + return get_partial_name( self.name ) class class_t( scopedef.scopedef_t ): """describes class definition""" @@ -447,9 +442,6 @@ return None def _get_partial_name_impl( self ): - #~ return get_partial_name( self.name ) - if not self.container_traits: - return self.name - return self.container_traits.remove_defaults( self ) + return get_partial_name( self.name ) class_types = ( class_t, class_declaration_t ) Modified: pygccxml_dev/pygccxml/declarations/container_traits.py =================================================================== --- pygccxml_dev/pygccxml/declarations/container_traits.py 2007-12-10 17:06:45 UTC (rev 1200) +++ pygccxml_dev/pygccxml/declarations/container_traits.py 2007-12-10 21:29:19 UTC (rev 1201) @@ -406,6 +406,8 @@ if not templates.is_instantiation( cls_or_string ): return None name = templates.name( cls_or_string ) + if name.startswith( 'std::' ): + name = name[ len( 'std::' ): ] for cls_traits in container_traits: if cls_traits.name() == name: return cls_traits Modified: pygccxml_dev/pygccxml/declarations/enumeration.py =================================================================== --- pygccxml_dev/pygccxml/declarations/enumeration.py 2007-12-10 17:06:45 UTC (rev 1200) +++ pygccxml_dev/pygccxml/declarations/enumeration.py 2007-12-10 21:29:19 UTC (rev 1201) @@ -36,6 +36,8 @@ # Initialize values via property access self.values = values + self._byte_size = 0 + self._byte_align = 0 def __eq__(self, other): if not declaration.declaration_t.__eq__( self, other ): @@ -116,3 +118,18 @@ def i_depend_on_them( self, recursive=True ): return [] + + def _get_byte_size(self): + return self._byte_size + def _set_byte_size( self, new_byte_size ): + self._byte_size = new_byte_size + byte_size = property( _get_byte_size, _set_byte_size + , doc="Size of this class in bytes @type: int") + + def _get_byte_align(self): + return self._byte_align + def _set_byte_align( self, new_byte_align ): + self._byte_align = new_byte_align + byte_align = property( _get_byte_align, _set_byte_align + , doc="Alignment of this class in bytes @type: int") + Modified: pygccxml_dev/pygccxml/parser/scanner.py =================================================================== --- pygccxml_dev/pygccxml/parser/scanner.py 2007-12-10 17:06:45 UTC (rev 1200) +++ pygccxml_dev/pygccxml/parser/scanner.py 2007-12-10 21:29:19 UTC (rev 1201) @@ -302,6 +302,8 @@ #it means that this is unnamed enum. in c++ enum{ x }; enum_name = '' decl = self.__decl_factory.create_enumeration( name=enum_name ) + self.__read_byte_size(decl, attrs) + self.__read_byte_align(decl, attrs) self.__enums.append( decl ) return decl Modified: pygccxml_dev/unittests/core_tester.py =================================================================== --- pygccxml_dev/unittests/core_tester.py 2007-12-10 17:06:45 UTC (rev 1200) +++ pygccxml_dev/unittests/core_tester.py 2007-12-10 21:29:19 UTC (rev 1201) @@ -282,8 +282,16 @@ % ( 4, len(do_nothings) ) ) for index, do_nothing in enumerate(do_nothings): others = do_nothings[:index] + do_nothings[index+1:] + if set( do_nothing.overloads ) != set( others ): + print '\nexisting: ' + for x in do_nothing.overloads: + print str(x) + print '\nexpected: ' + for x in others: + print str(x) + self.failUnless( set( do_nothing.overloads ) == set( others ) - , "there is a difference between expected function overloads and existing ones." ) + , "there is a difference between expected function overloads and existing ones." ) def test_abstract_classes(self): ns = self.global_ns.namespace( 'abstract_classes' ) Modified: pygccxml_dev/unittests/data/core_cache.hpp =================================================================== --- pygccxml_dev/unittests/data/core_cache.hpp 2007-12-10 17:06:45 UTC (rev 1200) +++ pygccxml_dev/unittests/data/core_cache.hpp 2007-12-10 21:29:19 UTC (rev 1201) @@ -22,4 +22,4 @@ #endif//__core_cache_hpp__ -//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch \ No newline at end of file +//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch \ No newline at end of file Modified: pygccxml_dev/unittests/data/remove_template_defaults.hpp =================================================================== --- pygccxml_dev/unittests/data/remove_template_defaults.hpp 2007-12-10 17:06:45 UTC (rev 1200) +++ pygccxml_dev/unittests/data/remove_template_defaults.hpp 2007-12-10 21:29:19 UTC (rev 1201) @@ -102,7 +102,7 @@ typedef HASH_XXX_NS::hash_multimap< std::vector< int > const, hmm_wstr2d const > hmm_v_i2mm_wstr2d; } -inline void do_nothing1( type< sets::s_v_int > ){ +inline void f1( type< sets::s_v_int > ){ } } Modified: pygccxml_dev/unittests/find_container_traits_tester.py =================================================================== --- pygccxml_dev/unittests/find_container_traits_tester.py 2007-12-10 17:06:45 UTC (rev 1200) +++ pygccxml_dev/unittests/find_container_traits_tester.py 2007-12-10 21:29:19 UTC (rev 1201) @@ -57,10 +57,9 @@ print m.partial_name def test_recursive_partial_name( self ): - f = self.global_ns.free_fun( 'do_nothing1' ) - t1 = declarations.class_traits.get_declaration( f.arguments[0].type ) - print t1.name - print t1.partial_name + f1 = self.global_ns.free_fun( 'f1' ) + t1 = declarations.class_traits.get_declaration( f1.arguments[0].type ) + self.failUnless( 'type< std::set< std::vector< int > > >' == t1.partial_name ) def create_suite(): suite = unittest.TestSuite() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-10 17:06:40
|
Revision: 1200 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1200&view=rev Author: roman_yakovenko Date: 2007-12-10 09:06:45 -0800 (Mon, 10 Dec 2007) Log Message: ----------- improving example Modified Paths: -------------- pygccxml_dev/docs/example/example.hpp.xml pygccxml_dev/docs/example/output.txt pygccxml_dev/pygccxml/declarations/class_declaration.py pygccxml_dev/unittests/data/remove_template_defaults.hpp pygccxml_dev/unittests/find_container_traits_tester.py Modified: pygccxml_dev/docs/example/example.hpp.xml =================================================================== --- pygccxml_dev/docs/example/example.hpp.xml 2007-12-05 20:52:52 UTC (rev 1199) +++ pygccxml_dev/docs/example/example.hpp.xml 2007-12-10 17:06:45 UTC (rev 1200) @@ -1,97 +1,6888 @@ <?xml version="1.0"?> -<GCC_XML cvs_revision="1.112"> - <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 " mangled="_Z2::" demangled="::"/> - <Namespace id="_2" name="std" context="_1" members="" mangled="_Z3std" demangled="std"/> - <Variable id="_3" name="_ZTIN4core15class_hierarchy15multi_derived_tE" type="_9c" context="_1" location="f0:30" file="f0" line="30" extern="1" artificial="1"/> - <Variable id="_4" name="_ZTIN4core15class_hierarchy17derived_private_tE" type="_11c" context="_1" location="f0:27" file="f0" line="27" extern="1" artificial="1"/> - <Variable id="_5" name="_ZTIN4core15class_hierarchy19derived_protected_tE" type="_11c" context="_1" location="f0:24" file="f0" line="24" extern="1" artificial="1"/> - <Variable id="_6" name="_ZTIN4core15class_hierarchy16derived_public_tE" type="_13c" context="_1" location="f0:21" file="f0" line="21" extern="1" artificial="1"/> - <Variable id="_7" name="_ZTIN4core15class_hierarchy6base_tE" type="_15c" context="_1" location="f0:13" file="f0" line="13" extern="1" artificial="1"/> - <Namespace id="_8" name="core" context="_1" members="_17 " mangled="_Z4core" demangled="core"/> - <Struct id="_9" name="__vmi_class_type_info_pseudo3" context="_1" mangled="29__vmi_class_type_info_pseudo3" demangled="__vmi_class_type_info_pseudo3" location="f0:30" file="f0" line="30" size="384" align="32" members="_18 _19 _20 _21 " bases=""/> - <CvQualifiedType id="_9c" type="_9" const="1"/> - <Struct id="_11" name="__vmi_class_type_info_pseudo1" context="_1" mangled="29__vmi_class_type_info_pseudo1" demangled="__vmi_class_type_info_pseudo1" location="f0:24" file="f0" line="24" size="256" align="32" members="_22 _23 _24 _25 " bases=""/> - <CvQualifiedType id="_11c" type="_11" const="1"/> - <Struct id="_13" name="__si_class_type_info_pseudo" context="_1" mangled="27__si_class_type_info_pseudo" demangled="__si_class_type_info_pseudo" location="f1:0" file="f1" line="0" size="96" align="32" members="" bases=""/> - <CvQualifiedType id="_13c" type="_13" const="1"/> - <Struct id="_15" name="__class_type_info_pseudo" context="_1" mangled="24__class_type_info_pseudo" demangled="__class_type_info_pseudo" location="f1:0" file="f1" line="0" size="64" align="32" members="" bases=""/> - <CvQualifiedType id="_15c" type="_15" const="1"/> - <Namespace id="_17" name="class_hierarchy" context="_8" members="_26 _27 _28 _29 _30 _31 " mangled="_ZN4core15class_hierarchyE" demangled="core::class_hierarchy"/> - <Field id="_18" name="" type="_32" offset="0" context="_9" access="public" location="f0:30" file="f0" line="30"/> - <Field id="_19" name="" type="_33" offset="64" context="_9" access="public" location="f0:30" file="f0" line="30"/> - <Field id="_20" name="" type="_33" offset="96" context="_9" access="public" location="f0:30" file="f0" line="30"/> - <Field id="_21" name="" type="_34" offset="128" context="_9" access="public" location="f0:30" file="f0" line="30"/> - <Field id="_22" name="" type="_32" offset="0" context="_11" access="public" location="f0:24" file="f0" line="24"/> - <Field id="_23" name="" type="_33" offset="64" context="_11" access="public" location="f0:24" file="f0" line="24"/> - <Field id="_24" name="" type="_33" offset="96" context="_11" access="public" location="f0:24" file="f0" line="24"/> - <Field id="_25" name="" type="_35" offset="128" context="_11" access="public" location="f0:24" file="f0" line="24"/> - <Class id="_26" name="multi_derived_t" context="_17" mangled="N4core15class_hierarchy15multi_derived_tE" demangled="core::class_hierarchy::multi_derived_t" location="f0:30" file="f0" line="30" artificial="1" size="64" align="32" members="_36 _37 _38 " bases="private:_27 protected:_31 private:_30 "> - <Base type="_27" access="private" virtual="0" offset="0"/> - <Base type="_31" access="protected" virtual="0" offset="4"/> - <Base type="_30" access="private" virtual="0" offset="0"/> +<GCC_XML cvs_revision="1.118"> + <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _31 _32 _33 _34 _35 _36 _37 _38 _39 _40 _41 _42 _43 _44 _45 _46 _47 _49 _50 _51 _52 _53 _54 _55 _56 _57 _58 _59 _60 _62 _63 _64 _65 _66 _67 _68 _69 _70 _71 _74 _75 _76 _77 _78 _79 _80 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _93 _94 _95 _96 _97 _98 _99 _100 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _116 _117 _118 _119 _120 _121 _122 _123 _124 _126 _127 _128 _129 _130 _131 _132 _133 _134 _135 _136 _137 _139 _140 _141 _142 _143 _144 _145 _146 _148 _149 _150 _151 _152 _153 _155 _156 _157 _158 _159 _160 _161 _162 _163 _164 _165 _166 _167 _168 _169 _170 _171 _172 _173 _174 _175 _176 _177 _178 _179 _180 _181 _182 _183 _184 _185 _186 _187 _188 _189 _190 _191 _192 _193 _194 _195 _196 _197 _198 _199 _200 _201 _202 _203 _204 _205 _206 _207 _208 _209 _210 _211 _212 _213 _214 _218 _219 _221 _220 _222 _223 _224 _225 _226 _227 _228 _229 _230 _231 _233 _234 _235 _236 _237 _238 _239 _240 _241 _242 _243 _244 _245 _246 _247 _248 _249 _250 _251 _252 _253 _254 _255 _256 _257 _258 _259 _260 _261 _262 _263 _264 _265 _266 _267 _268 _269 _270 _271 _272 _273 _276 _277 _278 _279 _280 _281 _282 _284 _283 _285 _286 _287 _288 _289 _290 _291 _292 _293 _294 _295 _296 _297 _298 _299 _300 _301 _302 _303 _304 _305 _306 _308 _309 _310 _311 _312 _313 _314 _315 _316 _317 _318 _319 _320 _321 _322 _324 _325 _326 _328 _329 _330 _331 _332 _333 _334 _335 _336 _337 _338 _339 _2 _343 _344 _345 _346 _347 _348 _349 _353 _354 _355 _356 _357 _358 _359 _360 _361 _362 _363 _364 _365 _366 _367 _368 _369 _370 _371 _372 _373 _374 _375 _376 _377 _378 _379 _380 _381 _382 _383 _384 _385 _386 _387 _388 _389 _390 _391 _232 _392 _393 _394 _395 _396 _397 _398 _399 _400 _401 _402 _406 _407 _408 _409 _410 _411 _412 _413 _414 _415 _416 _417 _418 _419 _420 _421 _423 _424 _425 _426 _427 _428 _429 _430 _431 _432 _433 _434 _437 _438 _439 _440 _441 _442 _443 _444 _445 _446 _447 _448 _450 _449 _451 _452 _453 _454 _455 _456 _457 _458 _459 _460 _461 _462 _463 _464 _465 _466 _467 _468 _469 _470 _471 _472 _473 _474 _475 _476 _477 _478 _479 _480 _481 _482 _483 _484 _485 _486 _487 _488 _489 _490 _491 _492 _493 _494 _495 _496 _497 _498 _499 _500 _501 _502 _503 _504 _505 _506 _507 _508 _509 _510 _511 _512 _513 _514 _515 _516 _517 _518 _519 _520 _521 _522 _523 _524 _525 _526 _527 _528 _529 _530 _531 _532 _533 _534 _535 _536 _537 _538 _539 _540 _541 _542 _543 _544 _545 _546 _547 _548 _549 _551 _552 _553 _554 _555 _556 _557 _558 _559 _560 _561 _562 _563 _564 _565 _566 _567 _568 _569 _570 _571 _572 _573 _574 _575 _576 _577 _578 _579 _580 _581 _582 _583 _584 " mangled="_Z2::" demangled="::"/> + <Namespace id="_2" name="std" context="_1" members="_585 _4 _617 _620 _621 _625 _626 _628 _629 _631 _632 _640 _641 _642 _62 _643 _644 _647 _648 _670 _674 _124 _677 _678 _680 _683 _684 _685 _686 _688 _689 _693 _697 _698 _700 _701 _702 _202 _703 _707 _708 _711 _716 _233 _717 _718 _720 _726 _728 _729 _730 _731 _733 _750 _299 _751 _755 _756 _757 _308 _758 _760 _764 _320 _325 _767 _768 _769 _774 _775 _776 _359 _777 _778 _385 _782 _784 _785 _792 _400 _794 _797 _418 _798 _421 _799 _800 _802 _804 _455 _461 _807 _808 _810 _811 _815 _816 _817 _818 _819 _820 _827 _503 _833 _834 _835 _839 _539 _847 _848 _850 _851 _852 _854 _855 _856 _858 _859 _864 " mangled="_Z3std" demangled="std"/> + <Function id="_3" name="_wcsset" returns="_865" context="_1" location="f0:191" file="f0" line="191" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f0:191" file="f0" line="191"/> + <Argument type="_550" location="f0:191" file="f0" line="191"/> + </Function> + <Struct id="_4" name="tm" context="_1" mangled="2tm" demangled="tm" location="f1:721" file="f1" line="721" artificial="1" size="288" align="32" members="_866 _867 _868 _869 _870 _871 _872 _873 _874 " bases=""/> + <Function id="_5" name="wcsrtombs" returns="_385" context="_1" location="f1:764" file="f1" line="764" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f1:764" file="f1" line="764"/> + <Argument type="_875" location="f1:764" file="f1" line="764"/> + <Argument type="_385" location="f1:764" file="f1" line="764"/> + <Argument type="_876" location="f1:764" file="f1" line="764"/> + </Function> + <Variable id="_6" name="_pwctype" type="_877" context="_1" location="f2:67" file="f2" line="67" extern="1"/> + <Function id="_7" name="tmpfile" returns="_878" context="_1" location="f3:320" file="f3" line="320" extern="1" attributes="__cdecl__"/> + <Function id="_8" name="_strset" returns="_138" context="_1" location="f0:103" file="f0" line="103" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f0:103" file="f0" line="103"/> + <Argument type="_307" location="f0:103" file="f0" line="103"/> + </Function> + <Function id="_9" name="wcrtomb" returns="_385" context="_1" location="f1:763" file="f1" line="763" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f1:763" file="f1" line="763"/> + <Argument type="_550" location="f1:763" file="f1" line="763"/> + <Argument type="_876" location="f1:763" file="f1" line="763"/> + </Function> + <Function id="_10" name="vprintf" returns="_307" context="_1" location="f3:325" file="f3" line="325" extern="1" attributes="nothrow __cdecl__ nonnull() format(,,)"> + <Argument type="_115" location="f3:325" file="f3" line="325"/> + <Argument type="_139" location="f3:325" file="f3" line="325"/> + </Function> + <Function id="_11" name="swscanf" returns="_307" context="_1" location="f3:380" file="f3" line="380" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f3:380" file="f3" line="380"/> + <Argument type="_879" location="f3:380" file="f3" line="380"/> + <Ellipsis/> + </Function> + <Function id="_12" name="remove" returns="_307" context="_1" location="f3:306" file="f3" line="306" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f3:306" file="f3" line="306"/> + </Function> + <Function id="_13" name="_strcmpi" returns="_307" context="_1" location="f0:121" file="f0" line="121" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f0:121" file="f0" line="121"/> + <Argument type="_115" location="f0:121" file="f0" line="121"/> + </Function> + <Function id="_14" name="_wcsicmp" returns="_307" context="_1" location="f0:187" file="f0" line="187" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f0:187" file="f0" line="187"/> + <Argument type="_879" location="f0:187" file="f0" line="187"/> + </Function> + <Function id="_15" name="_set_se_translator" returns="_31" context="_1" mangled="_Z18_set_se_translatorPFvjP19_EXCEPTION_POINTERSE" demangled="_set_se_translator(void (*)(unsigned int, _EXCEPTION_POINTERS*))" location="f4:63" file="f4" line="63" extern="1" attributes="__cdecl__"> + <Argument type="_31" location="f4:63" file="f4" line="63"/> + </Function> + <Function id="_16" name="_wpopen" returns="_878" context="_1" location="f3:393" file="f3" line="393" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f3:393" file="f3" line="393"/> + <Argument type="_879" location="f3:393" file="f3" line="393"/> + </Function> + <Variable id="_17" name="_fmode" type="_307" context="_1" location="f5:239" file="f5" line="239" extern="1"/> + <Function id="_18" name="_fdopen" returns="_878" context="_1" location="f3:263" file="f3" line="263" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f3:263" file="f3" line="263"/> + <Argument type="_115" location="f3:263" file="f3" line="263"/> + </Function> + <FundamentalType id="_19" name="short unsigned int" size="16" align="16"/> + <Typedef id="_20" name="wctype_t" type="_19" context="_1" location="f3:84" file="f3" line="84"/> + <Struct id="_21" name="_iobuf" context="_1" mangled="6_iobuf" demangled="_iobuf" location="f3:125" file="f3" line="125" artificial="1" size="256" align="32" members="_880 _881 _882 _883 _884 _885 _886 _887 " bases=""/> + <Function id="_22" name="wscanf" returns="_307" context="_1" location="f3:382" file="f3" line="382" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f3:382" file="f3" line="382"/> + <Ellipsis/> + </Function> + <Function id="_23" name="iswascii" returns="_307" context="_1" location="f1:377" file="f1" line="377" endline="377" inline="1" attributes="__cdecl__"> + <Argument name="_C" type="_503" location="f1:377" file="f1" line="377"/> + </Function> + <Variable id="_24" name="_wctype" type="_888c" context="_1" location="f2:65" file="f2" line="65" extern="1"/> + <Function id="_25" name="setbuf" returns="_890" context="_1" location="f3:311" file="f3" line="311" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:311" file="f3" line="311"/> + <Argument type="_138" location="f3:311" file="f3" line="311"/> + </Function> + <Function id="_26" name="gcvt" returns="_138" context="_1" location="f5:434" file="f5" line="434" extern="1" attributes="__cdecl__"> + <Argument type="_891" location="f5:434" file="f5" line="434"/> + <Argument type="_307" location="f5:434" file="f5" line="434"/> + <Argument type="_138" location="f5:434" file="f5" line="434"/> + </Function> + <Function id="_27" name="set_unexpected" returns="_96" context="_1" mangled="_Z14set_unexpectedPFvvE" demangled="set_unexpected(void (*)())" location="f4:62" file="f4" line="62" extern="1" attributes="__cdecl__"> + <Argument type="_96" location="f4:62" file="f4" line="62"/> + </Function> + <Function id="_28" name="_wmktemp" returns="_865" context="_1" location="f1:296" file="f1" line="296" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f1:296" file="f1" line="296"/> + </Function> + <Function id="_29" name="iswupper" returns="_307" context="_1" location="f1:365" file="f1" line="365" endline="365" inline="1" attributes="nothrow pure __cdecl__"> + <Argument name="_C" type="_503" location="f1:365" file="f1" line="365"/> + </Function> + <PointerType id="_30" type="_892" size="32" align="32"/> + <Typedef id="_31" name="_se_translator_function" type="_30" context="_1" location="f4:51" file="f4" line="51"/> + <Function id="_32" name="iscntrl" returns="_307" context="_1" location="f2:104" file="f2" line="104" extern="1" attributes="nothrow pure __cdecl__"> + <Argument type="_307" location="f2:104" file="f2" line="104"/> + </Function> + <Function id="_33" name="_wfreopen" returns="_878" context="_1" location="f3:391" file="f3" line="391" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f3:391" file="f3" line="391"/> + <Argument type="_879" location="f3:391" file="f3" line="391"/> + <Argument type="_878" location="f3:391" file="f3" line="391"/> + </Function> + <Function id="_34" name="_strlwr" returns="_138" context="_1" location="f0:131" file="f0" line="131" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f0:131" file="f0" line="131"/> + </Function> + <Function id="_35" name="fflush" returns="_307" context="_1" location="f3:268" file="f3" line="268" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:268" file="f3" line="268"/> + </Function> + <Function id="_36" name="_wfindnexti64" returns="_307" context="_1" location="f1:301" file="f1" line="301" extern="1" attributes="__cdecl__"> + <Argument type="_383" location="f1:301" file="f1" line="301"/> + <Argument type="_893" location="f1:301" file="f1" line="301"/> + </Function> + <Variable id="_37" name="_ZTISt9bad_alloc" type="_894c" context="_1" location="f6:17" file="f6" line="17" extern="1" artificial="1"/> + <Function id="_38" name="mbrtowc" returns="_385" context="_1" location="f1:760" file="f1" line="760" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f1:760" file="f1" line="760"/> + <Argument type="_115" location="f1:760" file="f1" line="760"/> + <Argument type="_385" location="f1:760" file="f1" line="760"/> + <Argument type="_876" location="f1:760" file="f1" line="760"/> + </Function> + <Function id="_39" name="_makepath" returns="_890" context="_1" location="f5:366" file="f5" line="366" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f5:366" file="f5" line="366"/> + <Argument type="_115" location="f5:366" file="f5" line="366"/> + <Argument type="_115" location="f5:366" file="f5" line="366"/> + <Argument type="_115" location="f5:366" file="f5" line="366"/> + <Argument type="_115" location="f5:366" file="f5" line="366"/> + </Function> + <Function id="_40" name="_putw" returns="_307" context="_1" location="f3:305" file="f3" line="305" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f3:305" file="f3" line="305"/> + <Argument type="_878" location="f3:305" file="f3" line="305"/> + </Function> + <Function id="_41" name="_wstat64" returns="_307" context="_1" location="f1:496" file="f1" line="496" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:496" file="f1" line="496"/> + <Argument type="_896" location="f1:496" file="f1" line="496"/> + </Function> + <Function id="_42" name="strtok" returns="_138" context="_1" location="f0:142" file="f0" line="142" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f0:142" file="f0" line="142"/> + <Argument type="_115" location="f0:142" file="f0" line="142"/> + </Function> + <Function id="_43" name="iswspace" returns="_307" context="_1" location="f1:369" file="f1" line="369" endline="369" inline="1" attributes="nothrow pure __cdecl__"> + <Argument name="_C" type="_503" location="f1:369" file="f1" line="369"/> + </Function> + <Function id="_44" name="_wfdopen" returns="_878" context="_1" location="f3:389" file="f3" line="389" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f3:389" file="f3" line="389"/> + <Argument type="_879" location="f3:389" file="f3" line="389"/> + </Function> + <Function id="_45" name="towupper" returns="_550" context="_1" location="f1:258" file="f1" line="258" extern="1" attributes="nothrow pure __cdecl__"> + <Argument type="_550" location="f1:258" file="f1" line="258"/> + </Function> + <Function id="_46" name="_wfullpath" returns="_865" context="_1" location="f1:628" file="f1" line="628" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f1:628" file="f1" line="628"/> + <Argument type="_879" location="f1:628" file="f1" line="628"/> + <Argument type="_385" location="f1:628" file="f1" line="628"/> + </Function> + <Function id="_47" name="__iscsymf" returns="_307" context="_1" location="f2:111" file="f2" line="111" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f2:111" file="f2" line="111"/> + </Function> + <FundamentalType id="_48" name="long int" size="32" align="32"/> + <Typedef id="_49" name="time_t" type="_48" context="_1" location="f1:89" file="f1" line="89"/> + <Struct id="_50" name="_ldiv_t" context="_1" mangled="7_ldiv_t" demangled="_ldiv_t" location="f5:119" file="f5" line="119" artificial="1" size="64" align="32" members="_897 _898 " bases=""/> + <Variable id="_51" name="__argc" type="_307" context="_1" location="f5:222" file="f5" line="222" extern="1"/> + <Variable id="_52" name="__argv" type="_899" context="_1" location="f5:223" file="f5" line="223" extern="1"/> + <Function id="_53" name="strcmpi" returns="_307" context="_1" location="f0:152" file="f0" line="152" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f0:152" file="f0" line="152"/> + <Argument type="_115" location="f0:152" file="f0" line="152"/> + </Function> + <Function id="_54" name="iswalpha" returns="_307" context="_1" location="f1:364" file="f1" line="364" endline="364" inline="1" attributes="nothrow pure __cdecl__"> + <Argument name="_C" type="_503" location="f1:364" file="f1" line="364"/> + </Function> + <Function id="_55" name="mblen" returns="_307" context="_1" location="f5:297" file="f5" line="297" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f5:297" file="f5" line="297"/> + <Argument type="_385" location="f5:297" file="f5" line="297"/> + </Function> + <Function id="_56" name="atof" returns="_891" context="_1" location="f5:269" file="f5" line="269" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f5:269" file="f5" line="269"/> + </Function> + <Function id="_57" name="atoi" returns="_307" context="_1" location="f5:270" file="f5" line="270" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f5:270" file="f5" line="270"/> + </Function> + <Function id="_58" name="___mb_cur_max_func" returns="_307" context="_1" location="f5:140" file="f5" line="140" extern="1" attributes="__cdecl__"/> + <Function id="_59" name="terminate" returns="_890" context="_1" mangled="_Z9terminatev" demangled="terminate()" location="f4:54" file="f4" line="54" extern="1" attributes="noreturn __cdecl__"/> + <Function id="_60" name="_Getdays" returns="_138" context="_1" location="f7:73" file="f7" line="73" extern="1" attributes="__cdecl__"/> + <PointerType id="_61" type="_900" size="32" align="32"/> + <Typedef id="_62" name="unexpected_handler" type="_61" context="_1" location="f4:48" file="f4" line="48"/> + <Variable id="_63" name="_ZTIN9unittests10test_suiteE" type="_894c" context="_1" location="f8:45" file="f8" line="45" extern="1" artificial="1"/> + <Function id="_64" name="wctomb" returns="_307" context="_1" location="f5:316" file="f5" line="316" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f5:316" file="f5" line="316"/> + <Argument type="_550" location="f5:316" file="f5" line="316"/> + </Function> + <Variable id="_65" name="_ZTISt16invalid_argument" type="_894c" context="_1" location="f9:68" file="f9" line="68" extern="1" artificial="1"/> + <Variable id="_66" name="_ZTISt9type_info" type="_901c" context="_1" location="f10:41" file="f10" line="41" extern="1" artificial="1"/> + <Function id="_67" name="fwprintf" returns="_307" context="_1" location="f3:359" file="f3" line="359" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:359" file="f3" line="359"/> + <Argument type="_879" location="f3:359" file="f3" line="359"/> + <Ellipsis/> + </Function> + <Function id="_68" name="_fullpath" returns="_138" context="_1" location="f5:361" file="f5" line="361" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f5:361" file="f5" line="361"/> + <Argument type="_115" location="f5:361" file="f5" line="361"/> + <Argument type="_385" location="f5:361" file="f5" line="361"/> + </Function> + <Function id="_69" name="wmemmove" returns="_865" context="_1" location="f1:795" file="f1" line="795" endline="797" inline="1"> + <Argument name="_S1" type="_865" location="f1:795" file="f1" line="795"/> + <Argument name="_S2" type="_879" location="f1:795" file="f1" line="795"/> + <Argument name="_N" type="_385" location="f1:795" file="f1" line="795"/> + </Function> + <Function id="_70" name="_cgetws" returns="_865" context="_1" location="f1:507" file="f1" line="507" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f1:507" file="f1" line="507"/> + </Function> + <Variable id="_71" name="_pgmptr" type="_138" context="_1" location="f5:233" file="f5" line="233" extern="1"/> + <Function id="_72" name="wmemchr" returns="_865" context="_1" mangled="_Z7wmemchrPwwj" demangled="wmemchr(wchar_t*, wchar_t, unsigned int)" location="f1:807" file="f1" line="807" endline="808" inline="1"> + <Argument name="_S" type="_865" location="f1:807" file="f1" line="807"/> + <Argument name="_C" type="_550" location="f1:807" file="f1" line="807"/> + <Argument name="_N" type="_385" location="f1:807" file="f1" line="807"/> + </Function> + <Function id="_73" name="wmemchr" returns="_879" context="_1" location="f1:781" file="f1" line="781" endline="785" inline="1"> + <Argument name="_S" type="_879" location="f1:781" file="f1" line="781"/> + <Argument name="_C" type="_550" location="f1:781" file="f1" line="781"/> + <Argument name="_N" type="_385" location="f1:781" file="f1" line="781"/> + </Function> + <Typedef id="_74" name="off_t" type="_48" context="_1" location="f1:414" file="f1" line="414"/> + <Function id="_75" name="wcstod" returns="_891" context="_1" location="f1:602" file="f1" line="602" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:602" file="f1" line="602"/> + <Argument type="_903" location="f1:602" file="f1" line="602"/> + </Function> + <Function id="_76" name="wcstok" returns="_865" context="_1" location="f0:182" file="f0" line="182" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f0:182" file="f0" line="182"/> + <Argument type="_879" location="f0:182" file="f0" line="182"/> + </Function> + <Function id="_77" name="wcstol" returns="_48" context="_1" location="f1:603" file="f1" line="603" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:603" file="f1" line="603"/> + <Argument type="_903" location="f1:603" file="f1" line="603"/> + <Argument type="_307" location="f1:603" file="f1" line="603"/> + </Function> + <Function id="_78" name="__iscsym" returns="_307" context="_1" location="f2:112" file="f2" line="112" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f2:112" file="f2" line="112"/> + </Function> + <Function id="_79" name="_Getdateorder" returns="_307" context="_1" location="f7:72" file="f7" line="72" extern="1" attributes="__cdecl__"/> + <Function id="_80" name="_rotl" returns="_125" context="_1" location="f5:370" file="f5" line="370" extern="1" attributes="__cdecl__"> + <Argument type="_125" location="f5:370" file="f5" line="370"/> + <Argument type="_307" location="f5:370" file="f5" line="370"/> + </Function> + <Function id="_81" name="_rotr" returns="_125" context="_1" location="f5:372" file="f5" line="372" extern="1" attributes="__cdecl__"> + <Argument type="_125" location="f5:372" file="f5" line="372"/> + <Argument type="_307" location="f5:372" file="f5" line="372"/> + </Function> + <Function id="_82" name="_Tolower" returns="_307" context="_1" location="f7:88" file="f7" line="88" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f7:88" file="f7" line="88"/> + <Argument type="_904" location="f7:88" file="f7" line="88"/> + </Function> + <Function id="_83" name="sprintf" returns="_307" context="_1" location="f3:315" file="f3" line="315" extern="1" attributes="nothrow __cdecl__ nonnull() format(,,)"> + <Argument type="_138" location="f3:315" file="f3" line="315"/> + <Argument type="_115" location="f3:315" file="f3" line="315"/> + <Ellipsis/> + </Function> + <Function id="_84" name="strtod" returns="_891" context="_1" location="f5:311" file="f5" line="311" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f5:311" file="f5" line="311"/> + <Argument type="_899" location="f5:311" file="f5" line="311"/> + </Function> + <Function id="_85" name="strtol" returns="_48" context="_1" location="f5:312" file="f5" line="312" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f5:312" file="f5" line="312"/> + <Argument type="_899" location="f5:312" file="f5" line="312"/> + <Argument type="_307" location="f5:312" file="f5" line="312"/> + </Function> + <Function id="_86" name="putchar" returns="_307" context="_1" location="f3:303" file="f3" line="303" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f3:303" file="f3" line="303"/> + </Function> + <Function id="_87" name="wcstombs" returns="_385" context="_1" location="f5:317" file="f5" line="317" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f5:317" file="f5" line="317"/> + <Argument type="_879" location="f5:317" file="f5" line="317"/> + <Argument type="_385" location="f5:317" file="f5" line="317"/> + </Function> + <Function id="_88" name="wmemcmp" returns="_307" context="_1" location="f1:786" file="f1" line="786" endline="790" inline="1"> + <Argument name="_S1" type="_879" location="f1:786" file="f1" line="786"/> + <Argument name="_S2" type="_879" location="f1:786" file="f1" line="786"/> + <Argument name="_N" type="_385" location="f1:786" file="f1" line="786"/> + </Function> + <Function id="_89" name="getc" returns="_307" context="_1" location="f3:293" file="f3" line="293" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:293" file="f3" line="293"/> + </Function> + <Function id="_90" name="gets" returns="_138" context="_1" location="f3:296" file="f3" line="296" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f3:296" file="f3" line="296"/> + </Function> + <Function id="_91" name="getw" returns="_307" context="_1" location="f3:442" file="f3" line="442" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:442" file="f3" line="442"/> + </Function> + <Function id="_92" name="_vscprintf" returns="_307" context="_1" location="f3:328" file="f3" line="328" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f3:328" file="f3" line="328"/> + <Argument type="_139" location="f3:328" file="f3" line="328"/> + </Function> + <Function id="_93" name="_wcsnset" returns="_865" context="_1" location="f0:189" file="f0" line="189" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f0:189" file="f0" line="189"/> + <Argument type="_550" location="f0:189" file="f0" line="189"/> + <Argument type="_385" location="f0:189" file="f0" line="189"/> + </Function> + <Function id="_94" name="_wcslwr" returns="_865" context="_1" location="f0:193" file="f0" line="193" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f0:193" file="f0" line="193"/> + </Function> + <Function id="_95" name="fputchar" returns="_307" context="_1" location="f3:441" file="f3" line="441" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f3:441" file="f3" line="441"/> + </Function> + <Typedef id="_96" name="unexpected_function" type="_61" context="_1" location="f4:46" file="f4" line="46"/> + <Function id="_97" name="wmemcpy" returns="_865" context="_1" location="f1:791" file="f1" line="791" endline="793" inline="1"> + <Argument name="_S1" type="_865" location="f1:791" file="f1" line="791"/> + <Argument name="_S2" type="_879" location="f1:791" file="f1" line="791"/> + <Argument name="_N" type="_385" location="f1:791" file="f1" line="791"/> + </Function> + <Function id="_98" name="printf" returns="_307" context="_1" location="f3:301" file="f3" line="301" extern="1" attributes="nothrow __cdecl__ nonnull() format(,,)"> + <Argument type="_115" location="f3:301" file="f3" line="301"/> + <Ellipsis/> + </Function> + <Namespace id="_99" name="unittests" context="_1" members="_905 _906 _907 " mangled="_Z9unittests" demangled="unittests"/> + <Variable id="_100" name="_environ" type="_899" context="_1" location="f5:229" file="f5" line="229" extern="1"/> + <Function id="_101" name="qsort" returns="_890" context="_1" location="f5:302" file="f5" line="302" extern="1" attributes="__cdecl__"> + <Argument type="_908" location="f5:302" file="f5" line="302"/> + <Argument type="_385" location="f5:302" file="f5" line="302"/> + <Argument type="_385" location="f5:302" file="f5" line="302"/> + <Argument type="_909" location="f5:302" file="f5" line="302"/> + </Function> + <Variable id="_102" name="_ZTISt7codecvtIwciE" type="_894c" context="_1" location="f11:655" file="f11" line="655" extern="1" artificial="1"/> + <Function id="_103" name="_cputws" returns="_307" context="_1" location="f1:512" file="f1" line="512" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:512" file="f1" line="512"/> + </Function> + <Variable id="_104" name="_wpgmptr" type="_865" context="_1" location="f5:234" file="f5" line="234" extern="1"/> + <Function id="_105" name="__cxa_end_catch" returns="_890" context="_1" location="f12:592" file="f12" line="592" extern="1"/> + <Function id="_106" name="fseek" returns="_307" context="_1" location="f3:290" file="f3" line="290" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:290" file="f3" line="290"/> + <Argument type="_48" location="f3:290" file="f3" line="290"/> + <Argument type="_307" location="f3:290" file="f3" line="290"/> + </Function> + <Function id="_107" name="flushall" returns="_307" context="_1" location="f3:440" file="f3" line="440" extern="1" attributes="__cdecl__"/> + <Variable id="_108" name="_ZTISt9basic_iosItSt11char_traitsItEE" type="_894c" context="_1" location="f13:16" file="f13" line="16" extern="1" artificial="1"/> + <Function id="_109" name="vwprintf" returns="_307" context="_1" location="f3:370" file="f3" line="370" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f3:370" file="f3" line="370"/> + <Argument type="_139" location="f3:370" file="f3" line="370"/> + </Function> + <Function id="_110" name="__isascii" returns="_307" context="_1" location="f2:109" file="f2" line="109" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f2:109" file="f2" line="109"/> + </Function> + <Function id="_111" name="__toascii" returns="_307" context="_1" location="f2:110" file="f2" line="110" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f2:110" file="f2" line="110"/> + </Function> + <Function id="_112" name="getchar" returns="_307" context="_1" location="f3:294" file="f3" line="294" extern="1" attributes="__cdecl__"/> + <Function id="_113" name="memchr" returns="_908" context="_1" location="f0:110" file="f0" line="110" extern="1" attributes="__cdecl__"> + <Argument type="_910" location="f0:110" file="f0" line="110"/> + <Argument type="_307" location="f0:110" file="f0" line="110"/> + <Argument type="_385" location="f0:110" file="f0" line="110"/> + </Function> + <Function id="_114" name="clearerr" returns="_890" context="_1" location="f3:256" file="f3" line="256" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:256" file="f3" line="256"/> + </Function> + <PointerType id="_115" type="_911c" size="32" align="32"/> + <Typedef id="_116" name="__exString" type="_115" context="_1" location="f14:36" file="f14" line="36"/> + <Variable id="_117" name="_ZTISt14overflow_error" type="_894c" context="_1" location="f9:167" file="f9" line="167" extern="1" artificial="1"/> + <Function id="_118" name="fgetchar" returns="_307" context="_1" location="f3:438" file="f3" line="438" extern="1" attributes="__cdecl__"/> + <Variable id="_119" name="_ZTIN9unittests9test_caseE" type="_901c" context="_1" location="f8:29" file="f8" line="29" extern="1" artificial="1"/> + <Function id="_120" name="setvbuf" returns="_307" context="_1" location="f3:313" file="f3" line="313" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:313" file="f3" line="313"/> + <Argument type="_138" location="f3:313" file="f3" line="313"/> + <Argument type="_307" location="f3:313" file="f3" line="313"/> + <Argument type="_385" location="f3:313" file="f3" line="313"/> + </Function> + <Function id="_121" name="memmove" returns="_908" context="_1" location="f1:773" file="f1" line="773" extern="1" attributes="nothrow __cdecl__ nonnull"> + <Argument type="_908" location="f0:116" file="f0" line="116"/> + <Argument type="_910" location="f0:116" file="f0" line="116"/> + <Argument type="_385" location="f0:116" file="f0" line="116"/> + </Function> + <Function id="_122" name="_ecvt" returns="_138" context="_1" location="f5:354" file="f5" line="354" extern="1" attributes="__cdecl__"> + <Argument type="_891" location="f5:354" file="f5" line="354"/> + <Argument type="_307" location="f5:354" file="f5" line="354"/> + <Argument type="_913" location="f5:354" file="f5" line="354"/> + <Argument type="_913" location="f5:354" file="f5" line="354"/> + </Function> + <Function id="_123" name="_strncoll" returns="_307" context="_1" location="f0:125" file="f0" line="125" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f0:125" file="f0" line="125"/> + <Argument type="_115" location="f0:125" file="f0" line="125"/> + <Argument type="_385" location="f0:125" file="f0" line="125"/> + </Function> + <Typedef id="_124" name="new_handler" type="_61" context="_2" location="f6:40" file="f6" line="40"/> + <FundamentalType id="_125" name="unsigned int" size="32" align="32"/> + <Typedef id="_126" name="_dev_t" type="_125" context="_1" location="f1:402" file="f1" line="402"/> + <Function id="_127" name="memcpy" returns="_908" context="_1" location="f1:775" file="f1" line="775" extern="1" attributes="nothrow __cdecl__ nonnull"> + <Argument type="_908" location="f0:100" file="f0" line="100"/> + <Argument type="_910" location="f0:100" file="f0" line="100"/> + <Argument type="_385" location="f0:100" file="f0" line="100"/> + </Function> + <Function id="_128" name="strncat" returns="_138" context="_1" location="f0:132" file="f0" line="132" extern="1" attributes="nothrow __cdecl__ nonnull"> + <Argument type="_138" location="f0:132" file="f0" line="132"/> + <Argument type="_115" location="f0:132" file="f0" line="132"/> + <Argument type="_385" location="f0:132" file="f0" line="132"/> + </Function> + <Function id="_129" name="_wcsnicoll" returns="_307" context="_1" location="f0:199" file="f0" line="199" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f0:199" file="f0" line="199"/> + <Argument type="_879" location="f0:199" file="f0" line="199"/> + <Argument type="_385" location="f0:199" file="f0" line="199"/> + </Function> + <Function id="_130" name="ultoa" returns="_138" context="_1" location="f5:440" file="f5" line="440" extern="1" attributes="__cdecl__"> + <Argument type="_323" location="f5:440" file="f5" line="440"/> + <Argument type="_138" location="f5:440" file="f5" line="440"/> + <Argument type="_307" location="f5:440" file="f5" line="440"/> + </Function> + <Function id="_131" name="_wfindfirst64" returns="_383" context="_1" location="f1:300" file="f1" line="300" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f1:300" file="f1" line="300"/> + <Argument type="_914" location="f1:300" file="f1" line="300"/> + </Function> + <Function id="_132" name="_wspawnve" returns="_383" context="_1" location="f1:335" file="f1" line="335" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f1:335" file="f1" line="335"/> + <Argument type="_879" location="f1:335" file="f1" line="335"/> + <Argument type="_915" location="f1:335" file="f1" line="335"/> + <Argument type="_915" location="f1:335" file="f1" line="335"/> + </Function> + <Function id="_133" name="fgetwc" returns="_503" context="_1" location="f3:344" file="f3" line="344" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:344" file="f3" line="344"/> + </Function> + <Function id="_134" name="bsearch" returns="_908" context="_1" location="f5:273" file="f5" line="273" extern="1" attributes="__cdecl__"> + <Argument type="_910" location="f5:273" file="f5" line="273"/> + <Argument type="_910" location="f5:273" file="f5" line="273"/> + <Argument type="_385" location="f5:273" file="f5" line="273"/> + <Argument type="_385" location="f5:273" file="f5" line="273"/> + <Argument type="_909" location="f5:273" file="f5" line="273"/> + </Function> + <Function id="_135" name="fgetws" returns="_865" context="_1" location="f3:354" file="f3" line="354" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f3:354" file="f3" line="354"/> + <Argument type="_307" location="f3:354" file="f3" line="354"/> + <Argument type="_878" location="f3:354" file="f3" line="354"/> + </Function> + <Function id="_136" name="vsprintf" returns="_307" context="_1" location="f3:327" file="f3" line="327" extern="1" attributes="nothrow __cdecl__ nonnull() format(,,)"> + <Argument type="_138" location="f3:327" file="f3" line="327"/> + <Argument type="_115" location="f3:327" file="f3" line="327"/> + <Argument type="_139" location="f3:327" file="f3" line="327"/> + </Function> + <Function id="_137" name="mbstowcs" returns="_385" context="_1" location="f5:300" file="f5" line="300" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f5:300" file="f5" line="300"/> + <Argument type="_115" location="f5:300" file="f5" line="300"/> + <Argument type="_385" location="f5:300" file="f5" line="300"/> + </Function> + <PointerType id="_138" type="_911" size="32" align="32"/> + <Typedef id="_139" name="va_list" type="_138" context="_1" location="f3:96" file="f3" line="96"/> + <Function id="_140" name="_Strcoll" returns="_307" context="_1" location="f7:83" file="f7" line="83" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f7:83" file="f7" line="83"/> + <Argument type="_115" location="f7:83" file="f7" line="83"/> + <Argument type="_115" location="f7:83" file="f7" line="83"/> + <Argument type="_115" location="f7:83" file="f7" line="83"/> + <Argument type="_916" location="f7:83" file="f7" line="83"/> + </Function> + <Function id="_141" name="_Getcvt" returns="_450" context="_1" location="f7:70" file="f7" line="70" extern="1" attributes="__cdecl__"/> + <Function id="_142" name="_wremove" returns="_307" context="_1" location="f3:394" file="f3" line="394" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f3:394" file="f3" line="394"/> + </Function> + <Function id="_143" name="iswprint" returns="_307" context="_1" location="f1:372" file="f1" line="372" endline="373" inline="1" attributes="nothrow pure __cdecl__"> + <Argument name="_C" type="_503" location="f1:372" file="f1" line="372"/> + </Function> + <Variable id="_144" name="_ZTI10bad_typeid" type="_894c" context="_1" location="f10:68" file="f10" line="68" extern="1" artificial="1"/> + <Variable id="_145" name="_ZTISt11range_error" type="_894c" context="_1" location="f9:213" file="f9" line="213" extern="1" artificial="1"/> + <Function id="_146" name="_Getwctypes" returns="_879" context="_1" location="f7:99" file="f7" line="99" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f7:99" file="f7" line="99"/> + <Argument type="_879" location="f7:99" file="f7" line="99"/> + <Argument type="_917" location="f7:99" file="f7" line="99"/> + <Argument type="_904" location="f7:99" file="f7" line="99"/> + </Function> + <PointerType id="_147" type="_918" size="32" align="32"/> + <Typedef id="_148" name="_secerr_handler_func" type="_147" context="_1" location="f5:172" file="f5" line="172"/> + <Function id="_149" name="strnset" returns="_138" context="_1" location="f0:157" file="f0" line="157" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f0:157" file="f0" line="157"/> + <Argument type="_307" location="f0:157" file="f0" line="157"/> + <Argument type="_385" location="f0:157" file="f0" line="157"/> + </Function> + <Function id="_150" name="wcsicoll" returns="_307" context="_1" location="f0:215" file="f0" line="215" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f0:215" file="f0" line="215"/> + <Argument type="_879" location="f0:215" file="f0" line="215"/> + </Function> + <Function id="_151" name="fcvt" returns="_138" context="_1" location="f5:433" file="f5" line="433" extern="1" attributes="__cdecl__"> + <Argument type="_891" location="f5:433" file="f5" line="433"/> + <Argument type="_307" location="f5:433" file="f5" line="433"/> + <Argument type="_913" location="f5:433" file="f5" line="433"/> + <Argument type="_913" location="f5:433" file="f5" line="433"/> + </Function> + <Function id="_152" name="_Mbrtowc" returns="_307" context="_1" location="f7:78" file="f7" line="78" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f7:78" file="f7" line="78"/> + <Argument type="_115" location="f7:78" file="f7" line="78"/> + <Argument type="_385" location="f7:78" file="f7" line="78"/> + <Argument type="_876" location="f7:78" file="f7" line="78"/> + <Argument type="_919" location="f7:78" file="f7" line="78"/> + </Function> + <Function id="_153" name="mbtowc" returns="_307" context="_1" location="f5:299" file="f5" line="299" extern="1" attributes="__cdecl__"> + <Argument type="_865" location="f5:299" file="f5" line="299"/> + <Argument type="_115" location="f5:299" file="f5" line="299"/> + <Argument type="_385" location="f5:299" file="f5" line="299"/> + </Function> + <FundamentalType id="_154" name="long long int" size="64" align="64"/> + <Typedef id="_155" name="__time64_t" type="_154" context="_1" location="f1:96" file="f1" line="96"/> + <Function id="_156" name="_cwprintf" returns="_307" context="_1" location="f1:513" file="f1" line="513" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:513" file="f1" line="513"/> + <Ellipsis/> + </Function> + <Function id="_157" name="abort" returns="_890" context="_1" location="f5:255" file="f5" line="255" extern="1" attributes="nothrow noreturn __cdecl__"/> + <Function id="_158" name="onexit" returns="_423" context="_1" location="f5:437" file="f5" line="437" extern="1" attributes="__cdecl__"> + <Argument type="_423" location="f5:437" file="f5" line="437"/> + </Function> + <Function id="_159" name="iswlower" returns="_307" context="_1" location="f1:366" file="f1" line="366" endline="366" inline="1" attributes="nothrow pure __cdecl__"> + <Argument name="_C" type="_503" location="f1:366" file="f1" line="366"/> + </Function> + <Variable id="_160" name="_ZTISt12length_error" type="_894c" context="_1" location="f9:91" file="f9" line="91" extern="1" artificial="1"/> + <Function id="_161" name="getwchar" returns="_503" context="_1" location="f3:349" file="f3" line="349" extern="1" attributes="__cdecl__"/> + <Function id="_162" name="_wtof" returns="_891" context="_1" location="f1:607" file="f1" line="607" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:607" file="f1" line="607"/> + </Function> + <Function id="_163" name="_itoa" returns="_138" context="_1" location="f5:281" file="f5" line="281" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f5:281" file="f5" line="281"/> + <Argument type="_138" location="f5:281" file="f5" line="281"/> + <Argument type="_307" location="f5:281" file="f5" line="281"/> + </Function> + <Function id="_164" name="_wtoi" returns="_307" context="_1" location="f1:608" file="f1" line="608" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:608" file="f1" line="608"/> + </Function> + <Function id="_165" name="_wtol" returns="_48" context="_1" location="f1:609" file="f1" line="609" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:609" file="f1" line="609"/> + </Function> + <Function id="_166" name="strncmp" returns="_307" context="_1" location="f0:133" file="f0" line="133" extern="1" attributes="nothrow pure __cdecl__ nonnull"> + <Argument type="_115" location="f0:133" file="f0" line="133"/> + <Argument type="_115" location="f0:133" file="f0" line="133"/> + <Argument type="_385" location="f0:133" file="f0" line="133"/> + </Function> + <Function id="_167" name="_itow" returns="_865" context="_1" location="f1:599" file="f1" line="599" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f1:599" file="f1" line="599"/> + <Argument type="_865" location="f1:599" file="f1" line="599"/> + <Argument type="_307" location="f1:599" file="f1" line="599"/> + </Function> + <Variable id="_168" name="_osplatform" type="_125" context="_1" location="f5:245" file="f5" line="245" extern="1"/> + <Function id="_169" name="fputwc" returns="_503" context="_1" location="f3:346" file="f3" line="346" extern="1" attributes="__cdecl__"> + <Argument type="_550" location="f3:346" file="f3" line="346"/> + <Argument type="_878" location="f3:346" file="f3" line="346"/> + </Function> + <Function id="_170" name="_getwche" returns="_503" context="_1" location="f1:509" file="f1" line="509" extern="1" attributes="__cdecl__"/> + <Function id="_171" name="fputws" returns="_307" context="_1" location="f3:355" file="f3" line="355" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f3:355" file="f3" line="355"/> + <Argument type="_878" location="f3:355" file="f3" line="355"/> + </Function> + <Function id="_172" name="strncpy" returns="_138" context="_1" location="f0:135" file="f0" line="135" extern="1" attributes="nothrow __cdecl__ nonnull"> + <Argument type="_138" location="f0:135" file="f0" line="135"/> + <Argument type="_115" location="f0:135" file="f0" line="135"/> + <Argument type="_385" location="f0:135" file="f0" line="135"/> + </Function> + <Function id="_173" name="_wstat" returns="_307" context="_1" location="f1:492" file="f1" line="492" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:492" file="f1" line="492"/> + <Argument type="_920" location="f1:492" file="f1" line="492"/> + </Function> + <Function id="_174" name="rand" returns="_307" context="_1" location="f5:303" file="f5" line="303" extern="1" attributes="__cdecl__"/> + <Function id="_175" name="swab" returns="_890" context="_1" location="f5:439" file="f5" line="439" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f5:439" file="f5" line="439"/> + <Argument type="_138" location="f5:439" file="f5" line="439"/> + <Argument type="_307" location="f5:439" file="f5" line="439"/> + </Function> + <Function id="_176" name="getwc" returns="_503" context="_1" location="f3:348" file="f3" line="348" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:348" file="f3" line="348"/> + </Function> + <Function id="_177" name="_popen" returns="_878" context="_1" location="f3:300" file="f3" line="300" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f3:300" file="f3" line="300"/> + <Argument type="_115" location="f3:300" file="f3" line="300"/> + </Function> + <Function id="_178" name="free" returns="_890" context="_1" location="f5:279" file="f5" line="279" extern="1" attributes="__cdecl__"> + <Argument type="_908" location="f5:279" file="f5" line="279"/> + </Function> + <Function id="_179" name="towlower" returns="_550" context="_1" location="f1:259" file="f1" line="259" extern="1" attributes="nothrow pure __cdecl__"> + <Argument type="_550" location="f1:259" file="f1" line="259"/> + </Function> + <Function id="_180" name="isupper" returns="_307" context="_1" location="f2:95" file="f2" line="95" extern="1" attributes="nothrow pure __cdecl__"> + <Argument type="_307" location="f2:95" file="f2" line="95"/> + </Function> + <Function id="_181" name="toupper" returns="_307" context="_1" location="f2:105" file="f2" line="105" extern="1" attributes="nothrow pure __cdecl__"> + <Argument type="_307" location="f5:411" file="f5" line="411"/> + </Function> + <Function id="_182" name="rmtmp" returns="_307" context="_1" location="f3:444" file="f3" line="444" extern="1" attributes="__cdecl__"/> + <Function id="_183" name="_Strxfrm" returns="_385" context="_1" location="f7:87" file="f7" line="87" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f7:87" file="f7" line="87"/> + <Argument type="_138" location="f7:87" file="f7" line="87"/> + <Argument type="_115" location="f7:87" file="f7" line="87"/> + <Argument type="_115" location="f7:87" file="f7" line="87"/> + <Argument type="_916" location="f7:87" file="f7" line="87"/> + </Function> + <Function id="_184" name="_strerror" returns="_138" context="_1" location="f0:129" file="f0" line="129" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f0:129" file="f0" line="129"/> + </Function> + <Function id="_185" name="iswctype" returns="_307" context="_1" location="f1:261" file="f1" line="261" extern="1" attributes="__cdecl__"> + <Argument type="_503" location="f1:261" file="f1" line="261"/> + <Argument type="_20" location="f1:261" file="f1" line="261"/> + </Function> + <Function id="_186" name="fgetpos" returns="_307" context="_1" location="f3:271" file="f3" line="271" extern="1" attributes="__cdecl__"> + <Argument type="_878" location="f3:271" file="f3" line="271"/> + <Argument type="_921" location="f3:271" file="f3" line="271"/> + </Function> + <Variable id="_187" name="_sys_nerr" type="_307" context="_1" location="f5:194" file="f5" line="194" extern="1"/> + <Struct id="_188" name="__stat64" context="_1" mangled="8__stat64" demangled="__stat64" location="f1:468" file="f1" line="468" artificial="1" size="448" align="64" members="_922 _923 _924 _925 _926 _927 _928 _929 _930 _931 _932 " bases=""/> + <Function id="_189" name="_strnicmp" returns="_307" context="_1" location="f0:134" file="f0" line="134" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f0:134" file="f0" line="134"/> + <Argument type="_115" location="f0:134" file="f0" line="134"/> + <Argument type="_385" location="f0:134" file="f0" line="134"/> + </Function> + <Function id="_190" name="_seterrormode" returns="_890" context="_1" location="f5:395" file="f5" line="395" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f5:395" file="f5" line="395"/> + </Function> + <Function id="_191" name="_wmkdir" returns="_307" context="_1" location="f1:277" file="f1" line="277" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:277" file="f1" line="277"/> + </Function> + <Variable id="_192" name="_ZTINSt6locale7_LocimpE" type="_894c" context="_1" location="f11:145" file="f11" line="145" extern="1" artificial="1"/> + <Function id="_193" name="_Strftime" returns="_385" context="_1" location="f7:85" file="f7" line="85" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f7:85" file="f7" line="85"/> + <Argument type="_385" location="f7:85" file="f7" line="85"/> + <Argument type="_115" location="f7:85" file="f7" line="85"/> + <Argument type="_933" location="f7:85" file="f7" line="85"/> + <Argument type="_908" location="f7:85" file="f7" line="85"/> + </Function> + <Function id="_194" name="_wsystem" returns="_307" context="_1" location="f1:606" file="f1" line="606" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f1:339" file="f1" line="339"/> + </Function> + <Function id="_195" name="isspace" returns="_307" context="_1" location="f2:99" file="f2" line="99" extern="1" attributes="nothrow pure __cdecl__"> + <Argument type="_307" location="f2:99" file="f2" line="99"/> + </Function> + <Function id="_196" name="memccpy" returns="_908" context="_1" location="f0:150" file="f0" line="150" extern="1" attributes="__cdecl__"> + <Argument type="_908" location="f0:150" file="f0" line="150"/> + <Argument type="_910" location="f0:150" file="f0" line="150"/> + <Argument type="_307" location="f0:150" file="f0" line="150"/> + <Argument type="_385" location="f0:150" file="f0" line="150"/> + </Function> + <Function id="_197" name="realloc" returns="_908" context="_1" location="f5:304" file="f5" line="304" extern="1" attributes="__cdecl__"> + <Argument type="_908" location="f5:304" file="f5" line="304"/> + <Argument type="_385" location="f5:304" file="f5" line="304"/> + </Function> + <Function id="_198" name="tmpnam" returns="_138" context="_1" location="f3:321" file="f3" line="321" extern="1" attributes="__cdecl__"> + <Argument type="_138" location="f3:321" file="f3" line="321"/> + </Function> + <Typedef id="_199" name="_purecall_handler" type="_61" context="_1" location="f5:176" file="f5" line="176"/> + <Function id="_200" name="_ltoa" returns="_138" context="_1" location="f5:295" file="f5" line="295" extern="1" attributes="__cdecl__"> + <Argument type="_48" location="f5:295" file="f5" line="295"/> + <Argument type="_138" location="f5:295" file="f5" line="295"/> + <Argument type="_307" location="f5:295" file="f5" line="295"/> + </Function> + <Function id="_201" name="_wcserror" returns="_865" context="_1" location="f0:183" file="f0" line="183" extern="1" attributes="__cdecl__"> + <Argument type="_307" location="f0:183" file="f0" line="183"/> + </Function> + <Class id="_202" name="__non_rtti_object" context="_1" mangled="17__non_rtti_object" demangled="__non_rtti_object" location="f10:75" file="f10" line="75" artificial="1" size="96" align="32" members="_934 _935 _936 " bases="_455 "> + <Base type="_455" access="public" virtual="0" offset="0"/> </Class> - <Class id="_27" name="derived_private_t" context="_17" mangled="N4core15class_hierarchy17derived_private_tE" demangled="core::class_hierarchy::derived_private_t" location="f0:27" file="f0" line="27" artificial="1" size="32" align="32" members="_39 _40 _41 " bases="private:_31 "> - <Base type="_31" access="private" virtual="0" offset="0"/> + <Function id="_203" name="_ltow" returns="_865" context="_1" location="f1:600" file="f1" line="600" extern="1" attributes="__cdecl__"> + <Argument type="_48" location="f1:600" file="f1" line="600"/> + <Argument type="_865" location="f1:600" file="f1" line="600"/> + <Argument type="_307" location="f1:600" file="f1" line="600"/> + </Function> + <Function id="_204" name="iswdigit" returns="_307" context="_1" location="f1:367" file="f1" line="367" endline="367" inline="1" attributes="nothrow pure __cdecl__"> + <Argument name="_C" type="_503" location="f1:367" file="f1" line="367"/> + </Function> + <Function id="_205" name="putwc" returns="_503" context="_1" location="f3:350" file="f3" line="350" extern="1" attributes="__cdecl__"> + <Argument type="_550" location="f3:350" file="f3" line="350"/> + <Argument type="_878" location="f3:350" file="f3" line="350"/> + </Function> + <Function id="_206" name="isalpha" returns="_307" context="_1" location="f2:94" file="f2" line="94" extern="1" attributes="nothrow pure __cdecl__"> + <Argument type="_307" location="f2:94" file="f2" line="94"/> + </Function> + <Function id="_207" name="_strtoui64" returns="_327" context="_1" location="f5:287" file="f5" line="287" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f5:287" file="f5" line="287"/> + <Argument type="_899" location="f5:287" file="f5" line="287"/> + <Argument type="_307" location="f5:287" file="f5" line="287"/> + </Function> + <Function id="_208" name="_wcsnicmp" returns="_307" context="_1" location="f0:188" file="f0" line="188" extern="1" attributes="__cdecl__"> + <Argument type="_879" location="f0:188" file="f0" line="188"/> + <Argument type="_879" location="f0:188" file="f0" line="188"/> + <Argument type="_385" location="f0:188" file="f0" line="188"/> + </Function> + <Function id="_209" name="tempnam" returns="_138" context="_1" location="f3:445" file="f3" line="445" extern="1" attributes="__cdecl__"> + <Argument type="_115" location="f3:445" file="f3" line="445"/> + <Argument type="_115" location="f3:445" file="f3" line="445"/> + </Function> + <Function id="_210" name="_set_error_mode" returns="_307" context="_1" location="f5:305" file="f5" line="305" extern="1" attributes="__cdecl__"> + <Argument type="_307" locatio... [truncated message content] |
From: <rom...@us...> - 2007-12-05 20:52:47
|
Revision: 1199 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1199&view=rev Author: roman_yakovenko Date: 2007-12-05 12:52:52 -0800 (Wed, 05 Dec 2007) Log Message: ----------- adding new tester for precompiled header files Modified Paths: -------------- pyplusplus_dev/unittests/test_all.py Added Paths: ----------- pyplusplus_dev/unittests/data/precompiled_header_to_be_exported.hpp pyplusplus_dev/unittests/precompiled_header_tester.py Added: pyplusplus_dev/unittests/data/precompiled_header_to_be_exported.hpp =================================================================== --- pyplusplus_dev/unittests/data/precompiled_header_to_be_exported.hpp (rev 0) +++ pyplusplus_dev/unittests/data/precompiled_header_to_be_exported.hpp 2007-12-05 20:52:52 UTC (rev 1199) @@ -0,0 +1,18 @@ +// Copyright 2004 Roman Yakovenko. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef __precompiled_header_to_be_exported_hpp__ +#define __precompiled_header_to_be_exported_hpp__ + +namespace enums{ + +enum color{ red, green, blue}; + +inline int to_int( int x=red ){ return x; } + +} + + +#endif//__precompiled_header_to_be_exported_hpp__ Added: pyplusplus_dev/unittests/precompiled_header_tester.py =================================================================== --- pyplusplus_dev/unittests/precompiled_header_tester.py (rev 0) +++ pyplusplus_dev/unittests/precompiled_header_tester.py 2007-12-05 20:52:52 UTC (rev 1199) @@ -0,0 +1,47 @@ +# Copyright 2004 Roman Yakovenko. +# Distributed under the Boost Software License, Version 1.0. (See +# accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +import os +import sys +import unittest +import autoconfig +import fundamental_tester_base +from pyplusplus import code_creators + +class tester_t(fundamental_tester_base.fundamental_tester_base_t): + EXTENSION_NAME = 'precompiled_header' + + def __init__( self, *args ): + fundamental_tester_base.fundamental_tester_base_t.__init__( + self + , tester_t.EXTENSION_NAME + , *args ) + + def customize(self, mb ): + #add precompiled header + mb.build_code_creator( self.EXTENSION_NAME ) + stdafx = code_creators.include_t( 'stdafx.h' ) + mb.code_creator.adopt_creator( stdafx, 0 ) + + f = file( os.path.join( autoconfig.build_dir, 'stdafx.h' ), 'w+' ) + f.writelines( ['//this should be the first header file' + os.linesep] ) + f.close() + + def run_tests(self, module): + lines = file( os.path.join( autoconfig.build_dir, 'precompiled_header.cpp' ) ).readlines() + lines = filter( lambda l: l.startswith( '#include' ), lines ) + self.failUnless( '#include "stdafx.h"' in lines[0] ) + + +def create_suite(): + suite = unittest.TestSuite() + suite.addTest( unittest.makeSuite(tester_t)) + return suite + +def run_suite(): + unittest.TextTestRunner(verbosity=2).run( create_suite() ) + +if __name__ == "__main__": + run_suite() Modified: pyplusplus_dev/unittests/test_all.py =================================================================== --- pyplusplus_dev/unittests/test_all.py 2007-12-05 14:49:45 UTC (rev 1198) +++ pyplusplus_dev/unittests/test_all.py 2007-12-05 20:52:52 UTC (rev 1199) @@ -96,9 +96,9 @@ import include_exclude_bug_tester import vector_with_shared_data_tester import constructors_bug_tester +import precompiled_header_tester - testers = [ algorithms_tester , module_body_tester @@ -181,6 +181,7 @@ , vector_with_shared_data_tester , templates_tester , constructors_bug_tester + , precompiled_header_tester ] class module_runner_t( object ): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-05 14:49:42
|
Revision: 1198 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1198&view=rev Author: roman_yakovenko Date: 2007-12-05 06:49:45 -0800 (Wed, 05 Dec 2007) Log Message: ----------- upgrading example Modified Paths: -------------- pygccxml_dev/docs/example/example.hpp pygccxml_dev/docs/example/example.py Modified: pygccxml_dev/docs/example/example.hpp =================================================================== --- pygccxml_dev/docs/example/example.hpp 2007-12-05 07:42:42 UTC (rev 1197) +++ pygccxml_dev/docs/example/example.hpp 2007-12-05 14:49:45 UTC (rev 1198) @@ -1,4 +1,4 @@ -// Copyright 2004 Roman Yakovenko. +// Copyright 2004-2007 Roman Yakovenko. // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) @@ -6,29 +6,61 @@ #ifndef example_hpp_12_10_2006 #define example_hpp_12_10_2006 +#include <vector> +#include <string> +#include <map> -namespace core{ namespace class_hierarchy{ +namespace unittests{ -class base_t{ -public: - virtual ~base_t(){}; +struct test_results{ + + enum status{ ok, fail, error }; + + typedef std::map< std::string, status > result_container; + + void update( const std::string& name, status result ){ + m_results[ name ] = result; + } + +private: + result_container m_results; }; - -class other_base_t{ + +struct test_case{ + + test_case( const std::string& name ) + : m_name( name ) + {} + + virtual void set_up(){} + + virtual void tear_down(){} + + virtual void run() = 0; + +private: + const std::string m_name; }; -class derived_public_t : public base_t{ +struct test_suite : public test_case{ + + typedef std::vector< test_case* > test_container; + + test_suite( const std::string& name, const test_container& tests ) + : test_case(name) + , m_tests( tests ) + {} + + virtual void run(); + + const test_results& get_results() const + { return m_results; } + +private: + const test_container m_tests; + test_results m_results; }; + +} -class derived_protected_t : protected base_t{ -}; - -class derived_private_t : private base_t{ -}; - -class multi_derived_t : derived_private_t, protected base_t, private other_base_t{ -}; - -} } - #endif//example_hpp_12_10_2006 Modified: pygccxml_dev/docs/example/example.py =================================================================== --- pygccxml_dev/docs/example/example.py 2007-12-05 07:42:42 UTC (rev 1197) +++ pygccxml_dev/docs/example/example.py 2007-12-05 14:49:45 UTC (rev 1198) @@ -3,24 +3,62 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +import os import sys -#~ sys.path.append('../..') #adding pygccxml to the path +#find out the file location within the sources tree +this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) ) +#find out gccxml location +gccxml_09_path = os.path.join( this_module_dir_path, '..', '..', '..', 'gccxml_bin', 'v09', sys.platform, 'bin' ) +#add pygccxml package to Python path +sys.path.append( os.path.join( this_module_dir_path, '..', '..' ) ) + + from pygccxml import parser from pygccxml import declarations #configure GCC-XML parser -config = parser.config_t( gccxml_path='/home/roman/language-binding/sources/gccxml_bin/v09/linux2/bin' ) +config = parser.config_t( gccxml_path=gccxml_09_path ) #parsing source file decls = parser.parse( ['example.hpp'], config ) global_ns = declarations.get_global_namespace( decls ) -#printing all declarations found in file and its includes -declarations.print_declarations( global_ns ) +#get object that describes unittests namespace +unittests = global_ns.namespace( 'unittests' ) +print '"unittests" declarations: ' +declarations.print_declarations( unittests ) + + #print all base and derived class names -for class_ in global_ns.classes(): - print class_.name - print '\tbases: ', `[base.related_class.name for base in class_.bases]` - print '\tderived: ', `[derive.related_class.name for derive in class_.derived]` +for class_ in unittests.classes(): + print 'class "%s" hierarchy information:' % class_.name + print '\tbase classes : ', `[base.related_class.name for base in class_.bases]` + print '\tderived classes: ', `[derive.related_class.name for derive in class_.derived]` + print '\n' + + +#pygccxml has very powerfull query api: + +#select multiple declarations +run_functions = unittests.member_functions( 'run' ) +print 'the namespace contains %d "run" member functions' % len(run_functions) +print 'they are: ' +for f in run_functions: + print '\t' + declarations.full_name( f ) + + +#select single declaration - all next statements will return same object +#vector< unittests::test_case* > + +#you can select the class using "full" name +test_container_1 = global_ns.class_( 'vector<unittests::test_case*, std::allocator<unittests::test_case*> >' ) +#you can select the class using partial name +test_container_2 = global_ns.class_( 'vector< unittests::test_case* >' ) +#you can define your own "match" criteria +test_container_3 = global_ns.class_( lambda decl: 'vector' in decl.name ) + +is_same_object = test_container_1 is test_container_2 \ + and test_container_2 is test_container_3 +print "Does all test_container_* refer to the same object? ", str(is_same_object) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-05 07:42:43
|
Revision: 1197 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1197&view=rev Author: roman_yakovenko Date: 2007-12-04 23:42:42 -0800 (Tue, 04 Dec 2007) Log Message: ----------- upgrading site creator tools Added Paths: ----------- website/tools/Pygments-0.8.1.tar.gz website/tools/kid-0.9.6.tar.gz Removed Paths: ------------- website/tools/kid-svn-12-10-2006.zip website/tools/pykleur-svn-11-11-2006.zip Added: website/tools/Pygments-0.8.1.tar.gz =================================================================== (Binary files differ) Property changes on: website/tools/Pygments-0.8.1.tar.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: website/tools/kid-0.9.6.tar.gz =================================================================== (Binary files differ) Property changes on: website/tools/kid-0.9.6.tar.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: website/tools/kid-svn-12-10-2006.zip =================================================================== (Binary files differ) Deleted: website/tools/pykleur-svn-11-11-2006.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-05 07:39:30
|
Revision: 1196 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1196&view=rev Author: roman_yakovenko Date: 2007-12-04 23:39:29 -0800 (Tue, 04 Dec 2007) Log Message: ----------- upgrading site creator tools Modified Paths: -------------- website/site_creator/environment.py website/site_creator/page_creator.py Modified: website/site_creator/environment.py =================================================================== --- website/site_creator/environment.py 2007-12-04 22:08:24 UTC (rev 1195) +++ website/site_creator/environment.py 2007-12-05 07:39:29 UTC (rev 1196) @@ -28,5 +28,7 @@ print settings.templates_dir -sys.path.append( os.path.join( settings.development_dir, 'tools', 'kid-svn-12-10-2006' ) ) -sys.path.append( os.path.join( settings.development_dir, 'tools', 'pykleur-svn-11-11-2006' ) ) + +sys.path.append( os.path.join( settings.development_dir, 'tools' ) ) +sys.path.append( os.path.join( settings.development_dir, 'tools', 'kid' ) ) +sys.path.append( os.path.join( settings.development_dir, 'tools', 'pygments' ) ) Modified: website/site_creator/page_creator.py =================================================================== --- website/site_creator/page_creator.py 2007-12-04 22:08:24 UTC (rev 1195) +++ website/site_creator/page_creator.py 2007-12-05 07:39:29 UTC (rev 1196) @@ -10,9 +10,10 @@ import www_configuration_reader import sys -sys.path.append( 'D:\pykleur' ) -import pykleur +import pygments +import pygments.lexers +import pygments.formatters def code_block( name, arguments, options, content, lineno, content_offset, block_text, state, state_machine ): """ @@ -57,9 +58,9 @@ , docutils.nodes.literal_block(block_text,block_text), line=lineno) return [error] - html = pykleur.highlight( source_code - , pykleur.lexers.get_lexer_by_name( language.lower() ) - , pykleur.formatters.HtmlFormatter(noclasses=True, style='friendly') ) + html = pygments.highlight( source_code + , pygments.lexers.get_lexer_by_name( language.lower() ) + , pygments.formatters.HtmlFormatter(noclasses=True, style='friendly') ) raw = docutils.nodes.raw('', html, format='html') return [raw] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-04 22:08:23
|
Revision: 1195 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1195&view=rev Author: roman_yakovenko Date: 2007-12-04 14:08:24 -0800 (Tue, 04 Dec 2007) Log Message: ----------- adding output file Modified Paths: -------------- pygccxml_dev/docs/example/example.py Added Paths: ----------- pygccxml_dev/docs/example/output.txt pygccxml_dev/docs/example/output.txt.rest Modified: pygccxml_dev/docs/example/example.py =================================================================== --- pygccxml_dev/docs/example/example.py 2007-12-04 21:56:13 UTC (rev 1194) +++ pygccxml_dev/docs/example/example.py 2007-12-04 22:08:24 UTC (rev 1195) @@ -4,13 +4,13 @@ # http://www.boost.org/LICENSE_1_0.txt) import sys -sys.path.append('../..') #adding pygccxml to the path +#~ sys.path.append('../..') #adding pygccxml to the path from pygccxml import parser from pygccxml import declarations #configure GCC-XML parser -config = parser.config_t( gccxml_path='/home/roman/gccxml-build/bin/gccxml' ) +config = parser.config_t( gccxml_path='/home/roman/language-binding/sources/gccxml_bin/v09/linux2/bin' ) #parsing source file decls = parser.parse( ['example.hpp'], config ) Added: pygccxml_dev/docs/example/output.txt =================================================================== --- pygccxml_dev/docs/example/output.txt (rev 0) +++ pygccxml_dev/docs/example/output.txt 2007-12-04 22:08:24 UTC (rev 1195) @@ -0,0 +1,773 @@ +>python -u "example.py" + +INFO Parsing source file "example.hpp" ... + +INFO gccxml cmd: /home/roman/language-binding/sources/gccxml_bin/v09/linux2/bin/gccxml -I"." "example.hpp" -fxml="/tmp/tmpgpIVCq.xml" + +INFO GCCXML version - 0.9 +namespace_t: '::' + artificial: 'False' + namespace_t: 'std' + artificial: 'False' + free_function_t: '__builtin_nans' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:21 + artificial: 'False' + attributes: nothrow const nonnull + free_function_t: '__builtin_acosf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:25 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_acosl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:26 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_log10' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:63 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_popcountll' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:101 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_clogf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:111 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_clogl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:113 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_cexpf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:108 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_cexpl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:110 + artificial: 'False' + attributes: nothrow pure no vops + variable_t: '_ZTIN4core15class_hierarchy17derived_private_tE' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:26 + artificial: '1' + type: ::__vmi_class_type_info_pseudo1 const value: None + size: 0 + align: 0 + offset: 0 + free_function_t: '__builtin_asinf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:28 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_asinl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:29 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_popcount' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:99 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_nansf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:22 + artificial: 'False' + attributes: nothrow const nonnull + free_function_t: '__builtin_nansl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:23 + artificial: 'False' + attributes: nothrow const nonnull + free_function_t: '__builtin_floorf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:52 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_floorl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:53 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_ctanf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:123 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ctanh' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:127 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ctanl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:125 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_carg' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:94 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_clog' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:112 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_logf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:66 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_logl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:67 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_fabs' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:48 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_expf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:46 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_expl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:47 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_csqrt' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:121 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_sin' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:75 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ldexpf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:60 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_ldexpl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:61 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_tanf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:85 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_tanh' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:86 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_tanl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:89 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ceil' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:36 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_fmodf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:54 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_fmodl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:55 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_return' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:13 + artificial: 'False' + attributes: nothrow noreturn + free_function_t: '__builtin_sqrt' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:81 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_cpow' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:130 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_coshf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:42 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_coshl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:43 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_cexp' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:109 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_atan2' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:31 + artificial: 'False' + attributes: nothrow + variable_t: '_ZTIN4core15class_hierarchy19derived_protected_tE' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:23 + artificial: '1' + type: ::__vmi_class_type_info_pseudo1 const value: None + size: 0 + align: 0 + offset: 0 + free_function_t: '__builtin_atanf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:34 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_atanl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:35 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ctan' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:124 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_log' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:62 + artificial: 'False' + attributes: nothrow + variable_t: '_ZTIN4core15class_hierarchy6base_tE' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:12 + artificial: '1' + type: ::__class_type_info_pseudo const value: None + size: 0 + align: 0 + offset: 0 + free_function_t: '__builtin_asin' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:27 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_frexp' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:56 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_log10f' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:64 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_log10l' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:65 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_ctzl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:97 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_powif' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:73 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_powil' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:74 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_modff' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:68 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_exp' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:45 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_modfl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:69 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_prefetch' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:17 + artificial: 'False' + attributes: no vops + free_function_t: '__builtin_tan' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:84 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_fabsf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:49 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_fabsl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:50 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_inf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:18 + artificial: 'False' + attributes: nothrow const + namespace_t: '__cxxabiv1' + artificial: 'False' + free_function_t: '__builtin_frame_address' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:15 + artificial: 'False' + free_function_t: '__builtin_cabs' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:91 + artificial: 'False' + attributes: nothrow pure no vops + namespace_t: 'core' + artificial: 'False' + namespace_t: 'class_hierarchy' + artificial: 'False' + class_t: 'base_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:12 + artificial: '1' + class type: 'class' + size: 4 + align: 4 + derived classes: + class: '::core::class_hierarchy::derived_public_t' + access: 'public' + class: '::core::class_hierarchy::derived_private_t' + access: 'private' + class: '::core::class_hierarchy::derived_protected_t' + access: 'protected' + class: '::core::class_hierarchy::multi_derived_t' + access: 'protected' + public: + destructor_t: '~base_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:14 + artificial: 'False' + protected: + private: + class_t: 'derived_public_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:20 + artificial: '1' + class type: 'class' + size: 4 + align: 4 + base classes: + class: '::core::class_hierarchy::base_t' + access: 'public' + public: + destructor_t: '~derived_public_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:20 + artificial: '1' + protected: + private: + class_t: 'derived_protected_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:23 + artificial: '1' + class type: 'class' + size: 4 + align: 4 + base classes: + class: '::core::class_hierarchy::base_t' + access: 'protected' + public: + destructor_t: '~derived_protected_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:23 + artificial: '1' + protected: + private: + class_t: 'multi_derived_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:29 + artificial: '1' + class type: 'class' + size: 8 + align: 4 + base classes: + class: '::core::class_hierarchy::derived_private_t' + access: 'private' + class: '::core::class_hierarchy::base_t' + access: 'protected' + class: '::core::class_hierarchy::other_base_t' + access: 'private' + public: + destructor_t: '~multi_derived_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:29 + artificial: '1' + protected: + private: + class_t: 'derived_private_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:26 + artificial: '1' + class type: 'class' + size: 4 + align: 4 + base classes: + class: '::core::class_hierarchy::base_t' + access: 'private' + derived classes: + class: '::core::class_hierarchy::multi_derived_t' + access: 'private' + public: + destructor_t: '~derived_private_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:26 + artificial: '1' + protected: + private: + class_t: 'other_base_t' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:17 + artificial: '1' + class type: 'class' + size: 1 + align: 1 + derived classes: + class: '::core::class_hierarchy::multi_derived_t' + access: 'private' + public: + protected: + private: + free_function_t: '__builtin_atan2f' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:32 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_atan2l' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:33 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_ccoshf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:105 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ccoshl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:107 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_atan' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:30 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_sinhf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:78 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_sinhl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:79 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_sqrtf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:82 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_sqrtl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:83 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_frexpf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:57 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_frexpl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:58 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_cpowf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:129 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_cpowl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:131 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_tanhf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:87 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_tanhl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:88 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_cabsf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:90 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_cabsl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:92 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_powf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:70 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_powi' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:72 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_powl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:71 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_ccos' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:103 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_expect' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:16 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_popcountl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:100 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_inff' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:19 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_infl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:20 + artificial: 'False' + attributes: nothrow const + variable_t: '_ZTIN4core15class_hierarchy16derived_public_tE' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:20 + artificial: '1' + type: ::__si_class_type_info_pseudo const value: None + size: 0 + align: 0 + offset: 0 + free_function_t: '__builtin_cos' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:39 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ctz' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:96 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_return_address' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:14 + artificial: 'False' + free_function_t: '__builtin_csinhf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:117 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_csinhl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:119 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_csqrtf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:120 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_csqrtl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:122 + artificial: 'False' + attributes: nothrow pure no vops + variable_t: '_ZTIN4core15class_hierarchy15multi_derived_tE' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:29 + artificial: '1' + type: ::__vmi_class_type_info_pseudo3 const value: None + size: 0 + align: 0 + offset: 0 + free_function_t: '__builtin_floor' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:51 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_ldexp' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:59 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_ccosf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:102 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ccosh' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:106 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ccosl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:104 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ctanhf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:126 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ctanhl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:128 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_ceilf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:37 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_ceill' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:38 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_csinf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:114 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_csinh' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:118 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_csinl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:116 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_acos' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:24 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_ctzll' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:98 + artificial: 'False' + attributes: nothrow const + free_function_t: '__builtin_cargf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:93 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_cargl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:95 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_cosf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:40 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_cosh' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:41 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_cosl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:44 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_sinf' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:76 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_sinh' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:77 + artificial: 'False' + attributes: nothrow + free_function_t: '__builtin_sinl' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:80 + artificial: 'False' + attributes: nothrow pure no vops + free_function_t: '__builtin_csin' + location: [/home/roman/language-binding/sources/gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h]:115 + artificial: 'False' + attributes: nothrow pure no vops + class_t: '__vmi_class_type_info_pseudo1' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:23 + artificial: 'False' + class type: 'struct' + size: 24 + align: 4 + public: + variable_t: '' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:23 + artificial: 'False' + type: ::__type_info_pseudo value: None + size: 8 + align: 4 + offset: 0 + variable_t: '' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:23 + artificial: 'False' + type: int value: None + size: 4 + align: 4 + offset: 8 + variable_t: '' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:23 + artificial: 'False' + type: int value: None + size: 4 + align: 4 + offset: 12 + variable_t: '' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:23 + artificial: 'False' + type: ::__base_class_type_info_pseudo[1] value: None + size: 8 + align: 4 + offset: 16 + protected: + private: + class_t: '__class_type_info_pseudo' + location: [<built-in>]:0 + artificial: 'False' + class type: 'struct' + size: 8 + align: 4 + public: + protected: + private: + class_t: '__si_class_type_info_pseudo' + location: [<built-in>]:0 + artificial: 'False' + class type: 'struct' + size: 12 + align: 4 + public: + protected: + private: + class_t: '__vmi_class_type_info_pseudo3' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:29 + artificial: 'False' + class type: 'struct' + size: 40 + align: 4 + public: + variable_t: '' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:29 + artificial: 'False' + type: ::__type_info_pseudo value: None + size: 8 + align: 4 + offset: 0 + variable_t: '' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:29 + artificial: 'False' + type: int value: None + size: 4 + align: 4 + offset: 8 + variable_t: '' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:29 + artificial: 'False' + type: int value: None + size: 4 + align: 4 + offset: 12 + variable_t: '' + location: [/home/roman/language-binding/sources/pygccxml_dev/docs/example/example.hpp]:29 + artificial: 'False' + type: ::__base_class_type_info_pseudo[3] value: None + size: 24 + align: 4 + offset: 16 + protected: + private: + class_t: '__type_info_pseudo' + location: [<built-in>]:0 + artificial: 'False' + class type: 'struct' + size: 8 + align: 4 + public: + protected: + private: + class_t: '__base_class_type_info_pseudo' + location: [<built-in>]:0 + artificial: 'False' + class type: 'struct' + size: 8 + align: 4 + public: + protected: + private: +base_t + bases: [] + derived: ['derived_public_t', 'derived_private_t', 'derived_protected_t', 'multi_derived_t'] +derived_public_t + bases: ['base_t'] + derived: [] +derived_protected_t + bases: ['base_t'] + derived: [] +multi_derived_t + bases: ['derived_private_t', 'base_t', 'other_base_t'] + derived: [] +derived_private_t + bases: ['base_t'] + derived: ['multi_derived_t'] +other_base_t + bases: [] + derived: ['multi_derived_t'] +__vmi_class_type_info_pseudo1 + bases: [] + derived: [] +__class_type_info_pseudo + bases: [] + derived: [] +__si_class_type_info_pseudo + bases: [] + derived: [] +__vmi_class_type_info_pseudo3 + bases: [] + derived: [] +__type_info_pseudo + bases: [] + derived: [] +__base_class_type_info_pseudo + bases: [] + derived: [] +>Exit code: 1 Added: pygccxml_dev/docs/example/output.txt.rest =================================================================== --- pygccxml_dev/docs/example/output.txt.rest (rev 0) +++ pygccxml_dev/docs/example/output.txt.rest 2007-12-04 22:08:24 UTC (rev 1195) @@ -0,0 +1,3 @@ +.. code-block:: + :language: text + :source-file: ./output.txt This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-04 21:56:09
|
Revision: 1194 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1194&view=rev Author: roman_yakovenko Date: 2007-12-04 13:56:13 -0800 (Tue, 04 Dec 2007) Log Message: ----------- moving example to separate directory Modified Paths: -------------- pygccxml_dev/docs/history/history.rest pygccxml_dev/docs/query_interface.rest Added Paths: ----------- pygccxml_dev/docs/example/ pygccxml_dev/docs/example/example.hpp pygccxml_dev/docs/example/example.hpp.rest pygccxml_dev/docs/example/example.hpp.xml pygccxml_dev/docs/example/example.hpp.xml.rest pygccxml_dev/docs/example/example.py pygccxml_dev/docs/example/example.py.rest pygccxml_dev/docs/example/example.rest pygccxml_dev/docs/example/www_configuration.py Removed Paths: ------------- pygccxml_dev/docs/example.hpp pygccxml_dev/docs/example.hpp.rest pygccxml_dev/docs/example.hpp.xml pygccxml_dev/docs/example.hpp.xml.rest pygccxml_dev/docs/example.py pygccxml_dev/docs/example.py.rest Added: pygccxml_dev/docs/example/example.hpp =================================================================== --- pygccxml_dev/docs/example/example.hpp (rev 0) +++ pygccxml_dev/docs/example/example.hpp 2007-12-04 21:56:13 UTC (rev 1194) @@ -0,0 +1,34 @@ +// Copyright 2004 Roman Yakovenko. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef example_hpp_12_10_2006 +#define example_hpp_12_10_2006 + + +namespace core{ namespace class_hierarchy{ + +class base_t{ +public: + virtual ~base_t(){}; +}; + +class other_base_t{ +}; + +class derived_public_t : public base_t{ +}; + +class derived_protected_t : protected base_t{ +}; + +class derived_private_t : private base_t{ +}; + +class multi_derived_t : derived_private_t, protected base_t, private other_base_t{ +}; + +} } + +#endif//example_hpp_12_10_2006 Added: pygccxml_dev/docs/example/example.hpp.rest =================================================================== --- pygccxml_dev/docs/example/example.hpp.rest (rev 0) +++ pygccxml_dev/docs/example/example.hpp.rest 2007-12-04 21:56:13 UTC (rev 1194) @@ -0,0 +1,3 @@ +.. code-block:: + :language: C++ + :source-file: ./example.hpp Added: pygccxml_dev/docs/example/example.hpp.xml =================================================================== --- pygccxml_dev/docs/example/example.hpp.xml (rev 0) +++ pygccxml_dev/docs/example/example.hpp.xml 2007-12-04 21:56:13 UTC (rev 1194) @@ -0,0 +1,97 @@ +<?xml version="1.0"?> +<GCC_XML cvs_revision="1.112"> + <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 " mangled="_Z2::" demangled="::"/> + <Namespace id="_2" name="std" context="_1" members="" mangled="_Z3std" demangled="std"/> + <Variable id="_3" name="_ZTIN4core15class_hierarchy15multi_derived_tE" type="_9c" context="_1" location="f0:30" file="f0" line="30" extern="1" artificial="1"/> + <Variable id="_4" name="_ZTIN4core15class_hierarchy17derived_private_tE" type="_11c" context="_1" location="f0:27" file="f0" line="27" extern="1" artificial="1"/> + <Variable id="_5" name="_ZTIN4core15class_hierarchy19derived_protected_tE" type="_11c" context="_1" location="f0:24" file="f0" line="24" extern="1" artificial="1"/> + <Variable id="_6" name="_ZTIN4core15class_hierarchy16derived_public_tE" type="_13c" context="_1" location="f0:21" file="f0" line="21" extern="1" artificial="1"/> + <Variable id="_7" name="_ZTIN4core15class_hierarchy6base_tE" type="_15c" context="_1" location="f0:13" file="f0" line="13" extern="1" artificial="1"/> + <Namespace id="_8" name="core" context="_1" members="_17 " mangled="_Z4core" demangled="core"/> + <Struct id="_9" name="__vmi_class_type_info_pseudo3" context="_1" mangled="29__vmi_class_type_info_pseudo3" demangled="__vmi_class_type_info_pseudo3" location="f0:30" file="f0" line="30" size="384" align="32" members="_18 _19 _20 _21 " bases=""/> + <CvQualifiedType id="_9c" type="_9" const="1"/> + <Struct id="_11" name="__vmi_class_type_info_pseudo1" context="_1" mangled="29__vmi_class_type_info_pseudo1" demangled="__vmi_class_type_info_pseudo1" location="f0:24" file="f0" line="24" size="256" align="32" members="_22 _23 _24 _25 " bases=""/> + <CvQualifiedType id="_11c" type="_11" const="1"/> + <Struct id="_13" name="__si_class_type_info_pseudo" context="_1" mangled="27__si_class_type_info_pseudo" demangled="__si_class_type_info_pseudo" location="f1:0" file="f1" line="0" size="96" align="32" members="" bases=""/> + <CvQualifiedType id="_13c" type="_13" const="1"/> + <Struct id="_15" name="__class_type_info_pseudo" context="_1" mangled="24__class_type_info_pseudo" demangled="__class_type_info_pseudo" location="f1:0" file="f1" line="0" size="64" align="32" members="" bases=""/> + <CvQualifiedType id="_15c" type="_15" const="1"/> + <Namespace id="_17" name="class_hierarchy" context="_8" members="_26 _27 _28 _29 _30 _31 " mangled="_ZN4core15class_hierarchyE" demangled="core::class_hierarchy"/> + <Field id="_18" name="" type="_32" offset="0" context="_9" access="public" location="f0:30" file="f0" line="30"/> + <Field id="_19" name="" type="_33" offset="64" context="_9" access="public" location="f0:30" file="f0" line="30"/> + <Field id="_20" name="" type="_33" offset="96" context="_9" access="public" location="f0:30" file="f0" line="30"/> + <Field id="_21" name="" type="_34" offset="128" context="_9" access="public" location="f0:30" file="f0" line="30"/> + <Field id="_22" name="" type="_32" offset="0" context="_11" access="public" location="f0:24" file="f0" line="24"/> + <Field id="_23" name="" type="_33" offset="64" context="_11" access="public" location="f0:24" file="f0" line="24"/> + <Field id="_24" name="" type="_33" offset="96" context="_11" access="public" location="f0:24" file="f0" line="24"/> + <Field id="_25" name="" type="_35" offset="128" context="_11" access="public" location="f0:24" file="f0" line="24"/> + <Class id="_26" name="multi_derived_t" context="_17" mangled="N4core15class_hierarchy15multi_derived_tE" demangled="core::class_hierarchy::multi_derived_t" location="f0:30" file="f0" line="30" artificial="1" size="64" align="32" members="_36 _37 _38 " bases="private:_27 protected:_31 private:_30 "> + <Base type="_27" access="private" virtual="0" offset="0"/> + <Base type="_31" access="protected" virtual="0" offset="4"/> + <Base type="_30" access="private" virtual="0" offset="0"/> + </Class> + <Class id="_27" name="derived_private_t" context="_17" mangled="N4core15class_hierarchy17derived_private_tE" demangled="core::class_hierarchy::derived_private_t" location="f0:27" file="f0" line="27" artificial="1" size="32" align="32" members="_39 _40 _41 " bases="private:_31 "> + <Base type="_31" access="private" virtual="0" offset="0"/> + </Class> + <Class id="_28" name="derived_protected_t" context="_17" mangled="N4core15class_hierarchy19derived_protected_tE" demangled="core::class_hierarchy::derived_protected_t" location="f0:24" file="f0" line="24" artificial="1" size="32" align="32" members="_42 _43 _44 " bases="protected:_31 "> + <Base type="_31" access="protected" virtual="0" offset="0"/> + </Class> + <Class id="_29" name="derived_public_t" context="_17" mangled="N4core15class_hierarchy16derived_public_tE" demangled="core::class_hierarchy::derived_public_t" location="f0:21" file="f0" line="21" artificial="1" size="32" align="32" members="_45 _46 _47 " bases="_31 "> + <Base type="_31" access="public" virtual="0" offset="0"/> + </Class> + <Class id="_30" name="other_base_t" context="_17" mangled="N4core15class_hierarchy12other_base_tE" demangled="core::class_hierarchy::other_base_t" location="f0:18" file="f0" line="18" artificial="1" size="8" align="8" members="_48 _49 " bases=""/> + <Class id="_31" name="base_t" context="_17" mangled="N4core15class_hierarchy6base_tE" demangled="core::class_hierarchy::base_t" location="f0:13" file="f0" line="13" artificial="1" size="32" align="32" members="_50 _51 _52 " bases=""/> + <Struct id="_32" name="__type_info_pseudo" context="_1" mangled="18__type_info_pseudo" demangled="__type_info_pseudo" location="f1:0" file="f1" line="0" size="64" align="32" members="" bases=""/> + <FundamentalType id="_33" name="int" size="32" align="32"/> + <ArrayType id="_34" min="0" max="3" type="_53" size="256" align="32"/> + <ArrayType id="_35" min="0" max="1" type="_53" size="128" align="32"/> + <Constructor id="_36" name="multi_derived_t" artificial="1" throw="" context="_26" access="public" mangled="_ZN4core15class_hierarchy15multi_derived_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::multi_derived_t::multi_derived_t(core::class_hierarchy::multi_derived_t const&)" location="f0:30" file="f0" line="30" inline="1"> + <Argument name="_ctor_arg" type="_54" location="f0:30" file="f0" line="30"/> + </Constructor> + <Constructor id="_37" name="multi_derived_t" explicit="1" artificial="1" throw="" context="_26" access="public" mangled="_ZN4core15class_hierarchy15multi_derived_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::multi_derived_t::multi_derived_t()" location="f0:30" file="f0" line="30" inline="1"/> + <Destructor id="_38" name="multi_derived_t" virtual="1" artificial="1" context="_26" access="public" mangled="_ZN4core15class_hierarchy15multi_derived_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::multi_derived_t::~multi_derived_t()" location="f0:30" file="f0" line="30" inline="1"> + </Destructor> + <Constructor id="_39" name="derived_private_t" artificial="1" throw="" context="_27" access="public" mangled="_ZN4core15class_hierarchy17derived_private_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::derived_private_t::derived_private_t(core::class_hierarchy::derived_private_t const&)" location="f0:27" file="f0" line="27" inline="1"> + <Argument name="_ctor_arg" type="_55" location="f0:27" file="f0" line="27"/> + </Constructor> + <Constructor id="_40" name="derived_private_t" explicit="1" artificial="1" throw="" context="_27" access="public" mangled="_ZN4core15class_hierarchy17derived_private_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_private_t::derived_private_t()" location="f0:27" file="f0" line="27" inline="1"/> + <Destructor id="_41" name="derived_private_t" virtual="1" artificial="1" context="_27" access="public" mangled="_ZN4core15class_hierarchy17derived_private_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_private_t::~derived_private_t()" location="f0:27" file="f0" line="27" inline="1"> + </Destructor> + <Constructor id="_42" name="derived_protected_t" artificial="1" throw="" context="_28" access="public" mangled="_ZN4core15class_hierarchy19derived_protected_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::derived_protected_t::derived_protected_t(core::class_hierarchy::derived_protected_t const&)" location="f0:24" file="f0" line="24" inline="1"> + <Argument name="_ctor_arg" type="_56" location="f0:24" file="f0" line="24"/> + </Constructor> + <Constructor id="_43" name="derived_protected_t" explicit="1" artificial="1" throw="" context="_28" access="public" mangled="_ZN4core15class_hierarchy19derived_protected_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_protected_t::derived_protected_t()" location="f0:24" file="f0" line="24" inline="1"/> + <Destructor id="_44" name="derived_protected_t" virtual="1" artificial="1" context="_28" access="public" mangled="_ZN4core15class_hierarchy19derived_protected_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_protected_t::~derived_protected_t()" location="f0:24" file="f0" line="24" inline="1"> + </Destructor> + <Constructor id="_45" name="derived_public_t" artificial="1" throw="" context="_29" access="public" mangled="_ZN4core15class_hierarchy16derived_public_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::derived_public_t::derived_public_t(core::class_hierarchy::derived_public_t const&)" location="f0:21" file="f0" line="21" inline="1"> + <Argument name="_ctor_arg" type="_57" location="f0:21" file="f0" line="21"/> + </Constructor> + <Constructor id="_46" name="derived_public_t" explicit="1" artificial="1" throw="" context="_29" access="public" mangled="_ZN4core15class_hierarchy16derived_public_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_public_t::derived_public_t()" location="f0:21" file="f0" line="21" inline="1"/> + <Destructor id="_47" name="derived_public_t" virtual="1" artificial="1" context="_29" access="public" mangled="_ZN4core15class_hierarchy16derived_public_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_public_t::~derived_public_t()" location="f0:21" file="f0" line="21" inline="1"> + </Destructor> + <Constructor id="_48" name="other_base_t" artificial="1" throw="" context="_30" access="public" mangled="_ZN4core15class_hierarchy12other_base_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::other_base_t::other_base_t(core::class_hierarchy::other_base_t const&)" location="f0:18" file="f0" line="18" inline="1"> + <Argument name="_ctor_arg" type="_58" location="f0:18" file="f0" line="18"/> + </Constructor> + <Constructor id="_49" name="other_base_t" explicit="1" artificial="1" throw="" context="_30" access="public" mangled="_ZN4core15class_hierarchy12other_base_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::other_base_t::other_base_t()" location="f0:18" file="f0" line="18" inline="1"/> + <Constructor id="_50" name="base_t" artificial="1" throw="" context="_31" access="public" mangled="_ZN4core15class_hierarchy6base_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::base_t::base_t(core::class_hierarchy::base_t const&)" location="f0:13" file="f0" line="13" inline="1"> + <Argument name="_ctor_arg" type="_59" location="f0:13" file="f0" line="13"/> + </Constructor> + <Constructor id="_51" name="base_t" explicit="1" artificial="1" throw="" context="_31" access="public" mangled="_ZN4core15class_hierarchy6base_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::base_t::base_t()" location="f0:13" file="f0" line="13" inline="1"/> + <Destructor id="_52" name="base_t" virtual="1" context="_31" access="public" mangled="_ZN4core15class_hierarchy6base_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::base_t::~base_t()" location="f0:15" file="f0" line="15" endline="15" inline="1"> + </Destructor> + <Struct id="_53" name="__base_class_type_info_pseudo" context="_1" mangled="29__base_class_type_info_pseudo" demangled="__base_class_type_info_pseudo" location="f1:0" file="f1" line="0" size="64" align="32" members="" bases=""/> + <ReferenceType id="_54" type="_26c" size="32" align="32"/> + <ReferenceType id="_55" type="_27c" size="32" align="32"/> + <ReferenceType id="_56" type="_28c" size="32" align="32"/> + <ReferenceType id="_57" type="_29c" size="32" align="32"/> + <ReferenceType id="_58" type="_30c" size="32" align="32"/> + <ReferenceType id="_59" type="_31c" size="32" align="32"/> + <CvQualifiedType id="_31c" type="_31" const="1"/> + <CvQualifiedType id="_30c" type="_30" const="1"/> + <CvQualifiedType id="_29c" type="_29" const="1"/> + <CvQualifiedType id="_28c" type="_28" const="1"/> + <CvQualifiedType id="_27c" type="_27" const="1"/> + <CvQualifiedType id="_26c" type="_26" const="1"/> + <File id="f0" name="D:/pygccxml_sources/sources/pygccxml_dev/docs/example.hpp"/> + <File id="f1" name="<internal>"/> +</GCC_XML> Added: pygccxml_dev/docs/example/example.hpp.xml.rest =================================================================== --- pygccxml_dev/docs/example/example.hpp.xml.rest (rev 0) +++ pygccxml_dev/docs/example/example.hpp.xml.rest 2007-12-04 21:56:13 UTC (rev 1194) @@ -0,0 +1,3 @@ +.. code-block:: + :language: XML + :source-file: ./example.hpp.xml Added: pygccxml_dev/docs/example/example.py =================================================================== --- pygccxml_dev/docs/example/example.py (rev 0) +++ pygccxml_dev/docs/example/example.py 2007-12-04 21:56:13 UTC (rev 1194) @@ -0,0 +1,26 @@ +# Copyright 2004 Roman Yakovenko. +# Distributed under the Boost Software License, Version 1.0. (See +# accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +import sys +sys.path.append('../..') #adding pygccxml to the path + +from pygccxml import parser +from pygccxml import declarations + +#configure GCC-XML parser +config = parser.config_t( gccxml_path='/home/roman/gccxml-build/bin/gccxml' ) + +#parsing source file +decls = parser.parse( ['example.hpp'], config ) +global_ns = declarations.get_global_namespace( decls ) + +#printing all declarations found in file and its includes +declarations.print_declarations( global_ns ) + +#print all base and derived class names +for class_ in global_ns.classes(): + print class_.name + print '\tbases: ', `[base.related_class.name for base in class_.bases]` + print '\tderived: ', `[derive.related_class.name for derive in class_.derived]` Added: pygccxml_dev/docs/example/example.py.rest =================================================================== --- pygccxml_dev/docs/example/example.py.rest (rev 0) +++ pygccxml_dev/docs/example/example.py.rest 2007-12-04 21:56:13 UTC (rev 1194) @@ -0,0 +1,3 @@ +.. code-block:: + :language: Python + :source-file: ./example.py Added: pygccxml_dev/docs/example/example.rest =================================================================== --- pygccxml_dev/docs/example/example.rest (rev 0) +++ pygccxml_dev/docs/example/example.rest 2007-12-04 21:56:13 UTC (rev 1194) @@ -0,0 +1,16 @@ +======= +Example +======= + +This directory contains C++ source file, GCC-XML generated file and Python script +that uses `pygccxml`_ to extract information from the source file. + +.. _`pygccxml`: ./../pygccxml.html + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: Added: pygccxml_dev/docs/example/www_configuration.py =================================================================== --- pygccxml_dev/docs/example/www_configuration.py (rev 0) +++ pygccxml_dev/docs/example/www_configuration.py 2007-12-04 21:56:13 UTC (rev 1194) @@ -0,0 +1,3 @@ +name = 'example' +files_to_skip = [] +names = {} Deleted: pygccxml_dev/docs/example.hpp =================================================================== --- pygccxml_dev/docs/example.hpp 2007-12-04 20:52:37 UTC (rev 1193) +++ pygccxml_dev/docs/example.hpp 2007-12-04 21:56:13 UTC (rev 1194) @@ -1,34 +0,0 @@ -// Copyright 2004 Roman Yakovenko. -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef example_hpp_12_10_2006 -#define example_hpp_12_10_2006 - - -namespace core{ namespace class_hierarchy{ - -class base_t{ -public: - virtual ~base_t(){}; -}; - -class other_base_t{ -}; - -class derived_public_t : public base_t{ -}; - -class derived_protected_t : protected base_t{ -}; - -class derived_private_t : private base_t{ -}; - -class multi_derived_t : derived_private_t, protected base_t, private other_base_t{ -}; - -} } - -#endif//example_hpp_12_10_2006 Deleted: pygccxml_dev/docs/example.hpp.rest =================================================================== --- pygccxml_dev/docs/example.hpp.rest 2007-12-04 20:52:37 UTC (rev 1193) +++ pygccxml_dev/docs/example.hpp.rest 2007-12-04 21:56:13 UTC (rev 1194) @@ -1,3 +0,0 @@ -.. code-block:: - :language: C++ - :source-file: ./example.hpp Deleted: pygccxml_dev/docs/example.hpp.xml =================================================================== --- pygccxml_dev/docs/example.hpp.xml 2007-12-04 20:52:37 UTC (rev 1193) +++ pygccxml_dev/docs/example.hpp.xml 2007-12-04 21:56:13 UTC (rev 1194) @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<GCC_XML cvs_revision="1.112"> - <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 " mangled="_Z2::" demangled="::"/> - <Namespace id="_2" name="std" context="_1" members="" mangled="_Z3std" demangled="std"/> - <Variable id="_3" name="_ZTIN4core15class_hierarchy15multi_derived_tE" type="_9c" context="_1" location="f0:30" file="f0" line="30" extern="1" artificial="1"/> - <Variable id="_4" name="_ZTIN4core15class_hierarchy17derived_private_tE" type="_11c" context="_1" location="f0:27" file="f0" line="27" extern="1" artificial="1"/> - <Variable id="_5" name="_ZTIN4core15class_hierarchy19derived_protected_tE" type="_11c" context="_1" location="f0:24" file="f0" line="24" extern="1" artificial="1"/> - <Variable id="_6" name="_ZTIN4core15class_hierarchy16derived_public_tE" type="_13c" context="_1" location="f0:21" file="f0" line="21" extern="1" artificial="1"/> - <Variable id="_7" name="_ZTIN4core15class_hierarchy6base_tE" type="_15c" context="_1" location="f0:13" file="f0" line="13" extern="1" artificial="1"/> - <Namespace id="_8" name="core" context="_1" members="_17 " mangled="_Z4core" demangled="core"/> - <Struct id="_9" name="__vmi_class_type_info_pseudo3" context="_1" mangled="29__vmi_class_type_info_pseudo3" demangled="__vmi_class_type_info_pseudo3" location="f0:30" file="f0" line="30" size="384" align="32" members="_18 _19 _20 _21 " bases=""/> - <CvQualifiedType id="_9c" type="_9" const="1"/> - <Struct id="_11" name="__vmi_class_type_info_pseudo1" context="_1" mangled="29__vmi_class_type_info_pseudo1" demangled="__vmi_class_type_info_pseudo1" location="f0:24" file="f0" line="24" size="256" align="32" members="_22 _23 _24 _25 " bases=""/> - <CvQualifiedType id="_11c" type="_11" const="1"/> - <Struct id="_13" name="__si_class_type_info_pseudo" context="_1" mangled="27__si_class_type_info_pseudo" demangled="__si_class_type_info_pseudo" location="f1:0" file="f1" line="0" size="96" align="32" members="" bases=""/> - <CvQualifiedType id="_13c" type="_13" const="1"/> - <Struct id="_15" name="__class_type_info_pseudo" context="_1" mangled="24__class_type_info_pseudo" demangled="__class_type_info_pseudo" location="f1:0" file="f1" line="0" size="64" align="32" members="" bases=""/> - <CvQualifiedType id="_15c" type="_15" const="1"/> - <Namespace id="_17" name="class_hierarchy" context="_8" members="_26 _27 _28 _29 _30 _31 " mangled="_ZN4core15class_hierarchyE" demangled="core::class_hierarchy"/> - <Field id="_18" name="" type="_32" offset="0" context="_9" access="public" location="f0:30" file="f0" line="30"/> - <Field id="_19" name="" type="_33" offset="64" context="_9" access="public" location="f0:30" file="f0" line="30"/> - <Field id="_20" name="" type="_33" offset="96" context="_9" access="public" location="f0:30" file="f0" line="30"/> - <Field id="_21" name="" type="_34" offset="128" context="_9" access="public" location="f0:30" file="f0" line="30"/> - <Field id="_22" name="" type="_32" offset="0" context="_11" access="public" location="f0:24" file="f0" line="24"/> - <Field id="_23" name="" type="_33" offset="64" context="_11" access="public" location="f0:24" file="f0" line="24"/> - <Field id="_24" name="" type="_33" offset="96" context="_11" access="public" location="f0:24" file="f0" line="24"/> - <Field id="_25" name="" type="_35" offset="128" context="_11" access="public" location="f0:24" file="f0" line="24"/> - <Class id="_26" name="multi_derived_t" context="_17" mangled="N4core15class_hierarchy15multi_derived_tE" demangled="core::class_hierarchy::multi_derived_t" location="f0:30" file="f0" line="30" artificial="1" size="64" align="32" members="_36 _37 _38 " bases="private:_27 protected:_31 private:_30 "> - <Base type="_27" access="private" virtual="0" offset="0"/> - <Base type="_31" access="protected" virtual="0" offset="4"/> - <Base type="_30" access="private" virtual="0" offset="0"/> - </Class> - <Class id="_27" name="derived_private_t" context="_17" mangled="N4core15class_hierarchy17derived_private_tE" demangled="core::class_hierarchy::derived_private_t" location="f0:27" file="f0" line="27" artificial="1" size="32" align="32" members="_39 _40 _41 " bases="private:_31 "> - <Base type="_31" access="private" virtual="0" offset="0"/> - </Class> - <Class id="_28" name="derived_protected_t" context="_17" mangled="N4core15class_hierarchy19derived_protected_tE" demangled="core::class_hierarchy::derived_protected_t" location="f0:24" file="f0" line="24" artificial="1" size="32" align="32" members="_42 _43 _44 " bases="protected:_31 "> - <Base type="_31" access="protected" virtual="0" offset="0"/> - </Class> - <Class id="_29" name="derived_public_t" context="_17" mangled="N4core15class_hierarchy16derived_public_tE" demangled="core::class_hierarchy::derived_public_t" location="f0:21" file="f0" line="21" artificial="1" size="32" align="32" members="_45 _46 _47 " bases="_31 "> - <Base type="_31" access="public" virtual="0" offset="0"/> - </Class> - <Class id="_30" name="other_base_t" context="_17" mangled="N4core15class_hierarchy12other_base_tE" demangled="core::class_hierarchy::other_base_t" location="f0:18" file="f0" line="18" artificial="1" size="8" align="8" members="_48 _49 " bases=""/> - <Class id="_31" name="base_t" context="_17" mangled="N4core15class_hierarchy6base_tE" demangled="core::class_hierarchy::base_t" location="f0:13" file="f0" line="13" artificial="1" size="32" align="32" members="_50 _51 _52 " bases=""/> - <Struct id="_32" name="__type_info_pseudo" context="_1" mangled="18__type_info_pseudo" demangled="__type_info_pseudo" location="f1:0" file="f1" line="0" size="64" align="32" members="" bases=""/> - <FundamentalType id="_33" name="int" size="32" align="32"/> - <ArrayType id="_34" min="0" max="3" type="_53" size="256" align="32"/> - <ArrayType id="_35" min="0" max="1" type="_53" size="128" align="32"/> - <Constructor id="_36" name="multi_derived_t" artificial="1" throw="" context="_26" access="public" mangled="_ZN4core15class_hierarchy15multi_derived_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::multi_derived_t::multi_derived_t(core::class_hierarchy::multi_derived_t const&)" location="f0:30" file="f0" line="30" inline="1"> - <Argument name="_ctor_arg" type="_54" location="f0:30" file="f0" line="30"/> - </Constructor> - <Constructor id="_37" name="multi_derived_t" explicit="1" artificial="1" throw="" context="_26" access="public" mangled="_ZN4core15class_hierarchy15multi_derived_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::multi_derived_t::multi_derived_t()" location="f0:30" file="f0" line="30" inline="1"/> - <Destructor id="_38" name="multi_derived_t" virtual="1" artificial="1" context="_26" access="public" mangled="_ZN4core15class_hierarchy15multi_derived_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::multi_derived_t::~multi_derived_t()" location="f0:30" file="f0" line="30" inline="1"> - </Destructor> - <Constructor id="_39" name="derived_private_t" artificial="1" throw="" context="_27" access="public" mangled="_ZN4core15class_hierarchy17derived_private_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::derived_private_t::derived_private_t(core::class_hierarchy::derived_private_t const&)" location="f0:27" file="f0" line="27" inline="1"> - <Argument name="_ctor_arg" type="_55" location="f0:27" file="f0" line="27"/> - </Constructor> - <Constructor id="_40" name="derived_private_t" explicit="1" artificial="1" throw="" context="_27" access="public" mangled="_ZN4core15class_hierarchy17derived_private_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_private_t::derived_private_t()" location="f0:27" file="f0" line="27" inline="1"/> - <Destructor id="_41" name="derived_private_t" virtual="1" artificial="1" context="_27" access="public" mangled="_ZN4core15class_hierarchy17derived_private_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_private_t::~derived_private_t()" location="f0:27" file="f0" line="27" inline="1"> - </Destructor> - <Constructor id="_42" name="derived_protected_t" artificial="1" throw="" context="_28" access="public" mangled="_ZN4core15class_hierarchy19derived_protected_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::derived_protected_t::derived_protected_t(core::class_hierarchy::derived_protected_t const&)" location="f0:24" file="f0" line="24" inline="1"> - <Argument name="_ctor_arg" type="_56" location="f0:24" file="f0" line="24"/> - </Constructor> - <Constructor id="_43" name="derived_protected_t" explicit="1" artificial="1" throw="" context="_28" access="public" mangled="_ZN4core15class_hierarchy19derived_protected_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_protected_t::derived_protected_t()" location="f0:24" file="f0" line="24" inline="1"/> - <Destructor id="_44" name="derived_protected_t" virtual="1" artificial="1" context="_28" access="public" mangled="_ZN4core15class_hierarchy19derived_protected_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_protected_t::~derived_protected_t()" location="f0:24" file="f0" line="24" inline="1"> - </Destructor> - <Constructor id="_45" name="derived_public_t" artificial="1" throw="" context="_29" access="public" mangled="_ZN4core15class_hierarchy16derived_public_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::derived_public_t::derived_public_t(core::class_hierarchy::derived_public_t const&)" location="f0:21" file="f0" line="21" inline="1"> - <Argument name="_ctor_arg" type="_57" location="f0:21" file="f0" line="21"/> - </Constructor> - <Constructor id="_46" name="derived_public_t" explicit="1" artificial="1" throw="" context="_29" access="public" mangled="_ZN4core15class_hierarchy16derived_public_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_public_t::derived_public_t()" location="f0:21" file="f0" line="21" inline="1"/> - <Destructor id="_47" name="derived_public_t" virtual="1" artificial="1" context="_29" access="public" mangled="_ZN4core15class_hierarchy16derived_public_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::derived_public_t::~derived_public_t()" location="f0:21" file="f0" line="21" inline="1"> - </Destructor> - <Constructor id="_48" name="other_base_t" artificial="1" throw="" context="_30" access="public" mangled="_ZN4core15class_hierarchy12other_base_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::other_base_t::other_base_t(core::class_hierarchy::other_base_t const&)" location="f0:18" file="f0" line="18" inline="1"> - <Argument name="_ctor_arg" type="_58" location="f0:18" file="f0" line="18"/> - </Constructor> - <Constructor id="_49" name="other_base_t" explicit="1" artificial="1" throw="" context="_30" access="public" mangled="_ZN4core15class_hierarchy12other_base_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::other_base_t::other_base_t()" location="f0:18" file="f0" line="18" inline="1"/> - <Constructor id="_50" name="base_t" artificial="1" throw="" context="_31" access="public" mangled="_ZN4core15class_hierarchy6base_tC1ERKS1_ *INTERNAL* " demangled="core::class_hierarchy::base_t::base_t(core::class_hierarchy::base_t const&)" location="f0:13" file="f0" line="13" inline="1"> - <Argument name="_ctor_arg" type="_59" location="f0:13" file="f0" line="13"/> - </Constructor> - <Constructor id="_51" name="base_t" explicit="1" artificial="1" throw="" context="_31" access="public" mangled="_ZN4core15class_hierarchy6base_tC1Ev *INTERNAL* " demangled="core::class_hierarchy::base_t::base_t()" location="f0:13" file="f0" line="13" inline="1"/> - <Destructor id="_52" name="base_t" virtual="1" context="_31" access="public" mangled="_ZN4core15class_hierarchy6base_tD1Ev *INTERNAL* " demangled="core::class_hierarchy::base_t::~base_t()" location="f0:15" file="f0" line="15" endline="15" inline="1"> - </Destructor> - <Struct id="_53" name="__base_class_type_info_pseudo" context="_1" mangled="29__base_class_type_info_pseudo" demangled="__base_class_type_info_pseudo" location="f1:0" file="f1" line="0" size="64" align="32" members="" bases=""/> - <ReferenceType id="_54" type="_26c" size="32" align="32"/> - <ReferenceType id="_55" type="_27c" size="32" align="32"/> - <ReferenceType id="_56" type="_28c" size="32" align="32"/> - <ReferenceType id="_57" type="_29c" size="32" align="32"/> - <ReferenceType id="_58" type="_30c" size="32" align="32"/> - <ReferenceType id="_59" type="_31c" size="32" align="32"/> - <CvQualifiedType id="_31c" type="_31" const="1"/> - <CvQualifiedType id="_30c" type="_30" const="1"/> - <CvQualifiedType id="_29c" type="_29" const="1"/> - <CvQualifiedType id="_28c" type="_28" const="1"/> - <CvQualifiedType id="_27c" type="_27" const="1"/> - <CvQualifiedType id="_26c" type="_26" const="1"/> - <File id="f0" name="D:/pygccxml_sources/sources/pygccxml_dev/docs/example.hpp"/> - <File id="f1" name="<internal>"/> -</GCC_XML> Deleted: pygccxml_dev/docs/example.hpp.xml.rest =================================================================== --- pygccxml_dev/docs/example.hpp.xml.rest 2007-12-04 20:52:37 UTC (rev 1193) +++ pygccxml_dev/docs/example.hpp.xml.rest 2007-12-04 21:56:13 UTC (rev 1194) @@ -1,3 +0,0 @@ -.. code-block:: - :language: XML - :source-file: ./example.hpp.xml Deleted: pygccxml_dev/docs/example.py =================================================================== --- pygccxml_dev/docs/example.py 2007-12-04 20:52:37 UTC (rev 1193) +++ pygccxml_dev/docs/example.py 2007-12-04 21:56:13 UTC (rev 1194) @@ -1,26 +0,0 @@ -# Copyright 2004 Roman Yakovenko. -# Distributed under the Boost Software License, Version 1.0. (See -# accompanying file LICENSE_1_0.txt or copy at -# http://www.boost.org/LICENSE_1_0.txt) - -import sys -sys.path.append('../..') #adding pygccxml to the path - -from pygccxml import parser -from pygccxml import declarations - -#configure GCC-XML parser -config = parser.config_t( gccxml_path='/home/roman/gccxml-build/bin/gccxml' ) - -#parsing source file -decls = parser.parse( ['example.hpp'], config ) -global_ns = declarations.get_global_namespace( decls ) - -#printing all declarations found in file and its includes -declarations.print_declarations( global_ns ) - -#print all base and derived class names -for class_ in global_ns.classes(): - print class_.name - print '\tbases: ', `[base.related_class.name for base in class_.bases]` - print '\tderived: ', `[derive.related_class.name for derive in class_.derived]` Deleted: pygccxml_dev/docs/example.py.rest =================================================================== --- pygccxml_dev/docs/example.py.rest 2007-12-04 20:52:37 UTC (rev 1193) +++ pygccxml_dev/docs/example.py.rest 2007-12-04 21:56:13 UTC (rev 1194) @@ -1,3 +0,0 @@ -.. code-block:: - :language: Python - :source-file: ./example.py Modified: pygccxml_dev/docs/history/history.rest =================================================================== --- pygccxml_dev/docs/history/history.rest 2007-12-04 20:52:37 UTC (rev 1193) +++ pygccxml_dev/docs/history/history.rest 2007-12-04 21:56:13 UTC (rev 1194) @@ -21,6 +21,7 @@ * Martin Preisler * Miguel Lobo * Jeremy Sanders +* Ben Schleimer ----------- SVN Version @@ -36,6 +37,9 @@ 3. A bug in parsing a function exception specification was fixed. Many thanks to Jeremy Sanders. + +4. Support for a type/class "align", "offset" and "size" was added. Many thanks to + Ben Schleimer for the implementation. ------------- Version 0.9.0 Modified: pygccxml_dev/docs/query_interface.rest =================================================================== --- pygccxml_dev/docs/query_interface.rest 2007-12-04 20:52:37 UTC (rev 1193) +++ pygccxml_dev/docs/query_interface.rest 2007-12-04 21:56:13 UTC (rev 1194) @@ -67,6 +67,7 @@ header_file=None, recursive=None ) + mem_fun = member_function #just an alias def member_functions( self, name=None, @@ -77,7 +78,9 @@ header_file=None, recursive=None, allow_empty=None ) + mem_funs = member_functions + As you can see, from the method arguments you can search for member function by: @@ -201,9 +204,9 @@ ... }; -`Call policies`_ of the member function ``clone`` is ``return_value_policy<manage_new_object>()``. -Next code applies `call policies`_ on all ``clone`` member functions within the -project. +``clone`` member function `call policies`_ is ``return_value_policy<manage_new_object>()``. +Next code applies the `call policies`_ on all ``clone`` member functions within the +project: .. code-block:: Python This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-04 20:52:34
|
Revision: 1193 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1193&view=rev Author: roman_yakovenko Date: 2007-12-04 12:52:37 -0800 (Tue, 04 Dec 2007) Log Message: ----------- adding byte_align, byte_size and byte_offset to the declarations and types Modified Paths: -------------- pygccxml_dev/pygccxml/declarations/class_declaration.py pygccxml_dev/pygccxml/declarations/cpptypes.py pygccxml_dev/pygccxml/declarations/decl_printer.py pygccxml_dev/pygccxml/declarations/typedef.py pygccxml_dev/pygccxml/declarations/variable.py pygccxml_dev/pygccxml/parser/scanner.py pygccxml_dev/unittests/core_tester.py pygccxml_dev/unittests/data/core_cache.hpp pygccxml_dev/unittests/data/core_types.hpp Modified: pygccxml_dev/pygccxml/declarations/class_declaration.py =================================================================== --- pygccxml_dev/pygccxml/declarations/class_declaration.py 2007-12-04 18:44:14 UTC (rev 1192) +++ pygccxml_dev/pygccxml/declarations/class_declaration.py 2007-12-04 20:52:37 UTC (rev 1193) @@ -129,6 +129,8 @@ self._private_members = [] self._protected_members = [] self._aliases = [] + self._byte_size = 0 + self._byte_align = 0 self._container_traits = None self._container_traits_set = False self._recursive_bases = None @@ -274,6 +276,20 @@ aliases = property( _get_aliases, _set_aliases , doc="List of L{aliases<typedef_t>} to this instance") + def _get_byte_size(self): + return self._byte_size + def _set_byte_size( self, new_byte_size ): + self._byte_size = new_byte_size + byte_size = property( _get_byte_size, _set_byte_size + , doc="Size of this class in bytes @type: int") + + def _get_byte_align(self): + return self._byte_align + def _set_byte_align( self, new_byte_align ): + self._byte_align = new_byte_align + byte_align = property( _get_byte_align, _set_byte_align + , doc="Alignment of this class in bytes @type: int") + def _get_declarations_impl(self): return self.get_members() Modified: pygccxml_dev/pygccxml/declarations/cpptypes.py =================================================================== --- pygccxml_dev/pygccxml/declarations/cpptypes.py 2007-12-04 18:44:14 UTC (rev 1192) +++ pygccxml_dev/pygccxml/declarations/cpptypes.py 2007-12-04 20:52:37 UTC (rev 1193) @@ -14,6 +14,8 @@ def __init__(self): object.__init__( self ) self.cache = algorithms_cache.type_algs_cache_t() + self._byte_size = 0 + self._byte_align = 0 def __str__(self): res = self.decl_string @@ -53,6 +55,21 @@ answer = self._clone_impl() return answer + def _get_byte_size(self): + return self._byte_size + def _set_byte_size( self, new_byte_size ): + self._byte_size = new_byte_size + byte_size = property( _get_byte_size, _set_byte_size + , doc="Size of this type in bytes @type: int") + + def _get_byte_align(self): + return self._byte_align + def _set_byte_align( self, new_byte_align ): + self._byte_align = new_byte_align + byte_align = property( _get_byte_align, _set_byte_align + , doc="Alignment of this type in bytes @type: int") + + #There are cases when GCC-XML reports something like this #<Unimplemented id="_9482" tree_code="188" tree_code_name="template_type_parm" node="0xcc4d5b0"/> #In this case I will use this as type @@ -628,6 +645,16 @@ def _clone_impl( self ): return declarated_t( self._declaration ) + @property + def byte_size (self): + "Size of this type in bytes @type: int" + return self._declaration.byte_size + + @property + def byte_align (self): + "alignment of this type in bytes @type: int" + return self._declaration.byte_align + class type_qualifiers_t( object ): """contains additional information about type: mutable, static, extern""" def __init__(self, has_static=False, has_mutable=False ): Modified: pygccxml_dev/pygccxml/declarations/decl_printer.py =================================================================== --- pygccxml_dev/pygccxml/declarations/decl_printer.py 2007-12-04 18:44:14 UTC (rev 1192) +++ pygccxml_dev/pygccxml/declarations/decl_printer.py 2007-12-04 20:52:37 UTC (rev 1193) @@ -141,6 +141,11 @@ curr_level = self.level + 1 class_type = 'class type: ' + "'%s'" % str(self.__inst.class_type) self.writer( ' ' * curr_level * self.INDENT_SIZE + class_type.ljust( self.JUSTIFY ) + os.linesep ) + if self.__print_details: + byte_size = 'size: %d'%(self.__inst.byte_size) + self.writer( ' ' * curr_level * self.INDENT_SIZE + byte_size.ljust( self.JUSTIFY ) + os.linesep ) + byte_align = 'align: %d'%(self.__inst.byte_align) + self.writer( ' ' * curr_level * self.INDENT_SIZE + byte_align.ljust( self.JUSTIFY ) + os.linesep ) if self.__inst.aliases: aliases = map( lambda typedef: typedef.name, self.__inst.aliases ) @@ -201,6 +206,13 @@ self.print_decl_header() curr_level = self.level + 1 self.writer( ' ' * curr_level * self.INDENT_SIZE + 'type: %s value: %s'%(self.__inst.type.decl_string, self.__inst.value) + os.linesep) + if self.__print_details: + byte_size = 'size: %d'%(self.__inst.type.byte_size) + self.writer( ' ' * curr_level * self.INDENT_SIZE + byte_size.ljust( self.JUSTIFY ) + os.linesep ) + byte_align = 'align: %d'%(self.__inst.type.byte_align) + self.writer( ' ' * curr_level * self.INDENT_SIZE + byte_align.ljust( self.JUSTIFY ) + os.linesep ) + byte_offset = 'offset: %d'%(self.__inst.byte_offset) + self.writer( ' ' * curr_level * self.INDENT_SIZE + byte_offset + os.linesep) def print_declarations( decls, detailed=True, recursive=True, writer=sys.stdout.write ): """ Print decl tree rooted at each of the included nodes. Modified: pygccxml_dev/pygccxml/declarations/typedef.py =================================================================== --- pygccxml_dev/pygccxml/declarations/typedef.py 2007-12-04 18:44:14 UTC (rev 1192) +++ pygccxml_dev/pygccxml/declarations/typedef.py 2007-12-04 20:52:37 UTC (rev 1193) @@ -36,3 +36,13 @@ def i_depend_on_them( self, recursive=True ): return [ dependencies.dependency_info_t( self, self.type ) ] + + @property + def byte_size (self): + "Size of this type in bytes @type: int" + return self._type.byte_size + + @property + def byte_align (self): + "alignment of this type in bytes @type: int" + return self._type.byte_align Modified: pygccxml_dev/pygccxml/declarations/variable.py =================================================================== --- pygccxml_dev/pygccxml/declarations/variable.py 2007-12-04 18:44:14 UTC (rev 1192) +++ pygccxml_dev/pygccxml/declarations/variable.py 2007-12-04 20:52:37 UTC (rev 1193) @@ -21,7 +21,8 @@ self._type_qualifiers = type_qualifiers self._value = value self._bits = bits - + self._byte_offset = 0 + def _get__cmp__items( self ): """implementation details""" return [ self.type, self.type_qualifiers, self.value ] @@ -63,6 +64,14 @@ bits = property( _get_bits, _set_bits , doc="integer, that contains information about how many bit takes bit field") + def _get_byte_offset(self): + return self._byte_offset + def _set_byte_offset(self, byte_offset): + self._byte_offset = byte_offset + byte_offset = property( _get_byte_offset, _set_byte_offset + , doc="integer, offset of the field from the beginning of class.") + + @property def access_type(self): if not isinstance( self.parent, class_declaration.class_t ): Modified: pygccxml_dev/pygccxml/parser/scanner.py =================================================================== --- pygccxml_dev/pygccxml/parser/scanner.py 2007-12-04 18:44:14 UTC (rev 1192) +++ pygccxml_dev/pygccxml/parser/scanner.py 2007-12-04 20:52:37 UTC (rev 1193) @@ -18,6 +18,7 @@ #also those constants are sorted for easy searching. XML_AN_ABSTRACT = "abstract" XML_AN_ACCESS = "access" +XML_AN_ALIGN = "align" XML_AN_ARTIFICIAL = "artificial" XML_AN_ATTRIBUTES = "attributes" XML_AN_BASE_TYPE = "basetype" @@ -39,9 +40,11 @@ XML_AN_MEMBERS = "members" XML_AN_MUTABLE = "mutable" XML_AN_NAME = "name" +XML_AN_OFFSET = "offset" XML_AN_PURE_VIRTUAL = "pure_virtual" XML_AN_RESTRICT = "restrict" XML_AN_RETURNS = "returns" +XML_AN_SIZE = "size" XML_AN_STATIC = "static" XML_AN_THROW = "throw" XML_AN_TYPE = "type" @@ -210,9 +213,12 @@ self.__read_artificial(obj, attrs) self.__read_mangled( obj, attrs) self.__read_demangled( obj, attrs) - self.__read_attributes(obj, attrs) + self.__read_attributes(obj, attrs) + elif isinstance( obj, type_t ): self.__types[ element_id ] = obj + self.__read_byte_size(obj, attrs) + self.__read_byte_align(obj, attrs) elif isinstance( obj, types.StringTypes ): self.__files[ element_id ] = obj else: @@ -260,6 +266,21 @@ def __read_access( self, attrs ): self.__access[ attrs[XML_AN_ID] ] = attrs.get( XML_AN_ACCESS, ACCESS_TYPES.PUBLIC ) + def __read_byte_size (self, decl, attrs): + "Using duck typing to set the size instead of in constructor" + size = attrs.get(XML_AN_SIZE, 0) + decl.byte_size = int(size)/8 # Make sure the size is in bytes instead of bits + + def __read_byte_offset (self, decl, attrs): + "Using duck typing to set the offset instead of in constructor" + offset = attrs.get(XML_AN_OFFSET, 0) + decl.byte_offset = int(offset)/8 # Make sure the size is in bytes instead of bits + + def __read_byte_align (self, decl, attrs): + "Using duck typing to set the alignment" + align = attrs.get(XML_AN_ALIGN, 0) + decl.byte_align = int(align)/8 # Make sure the size is in bytes instead of bits + def __read_root(self, attrs): pass @@ -408,12 +429,14 @@ bits = attrs.get( XML_AN_BITS, None ) if bits: bits = int( bits ) - return self.__decl_factory.create_variable( name=attrs.get( XML_AN_NAME, '' ) - , type=attrs[XML_AN_TYPE] - , type_qualifiers=type_qualifiers - , value=attrs.get( XML_AN_INIT, None ) - , bits=bits) - + decl = self.__decl_factory.create_variable( name=attrs.get( XML_AN_NAME, '' ) + , type=attrs[XML_AN_TYPE] + , type_qualifiers=type_qualifiers + , value=attrs.get( XML_AN_INIT, None ) + , bits=bits) + self.__read_byte_offset(decl, attrs) + return decl + __read_field = __read_variable #just a synonim def __read_class_impl(self, class_type, attrs): @@ -429,6 +452,8 @@ decl.is_abstract = True else: decl.is_abstract = False + self.__read_byte_size(decl, attrs) + self.__read_byte_align(decl, attrs) return decl def __read_class( self, attrs ): Modified: pygccxml_dev/unittests/core_tester.py =================================================================== --- pygccxml_dev/unittests/core_tester.py 2007-12-04 18:44:14 UTC (rev 1192) +++ pygccxml_dev/unittests/core_tester.py 2007-12-04 20:52:37 UTC (rev 1193) @@ -297,7 +297,20 @@ def test_versioning(self): for d in self.global_ns.decls(): self.failUnless( d.compiler ) + + def test_byte_size( self ): + mptrs = self.global_ns.class_( 'members_pointers_t' ) + self.failUnless( mptrs.byte_size != 0 ) + + def test_byte_align( self ): + mptrs = self.global_ns.class_( 'members_pointers_t' ) + self.failUnless( mptrs.byte_align != 0 ) + def test_byte_offset( self ): + mptrs = self.global_ns.class_( 'members_pointers_t' ) + self.failUnless( mptrs.var( 'xxx' ).byte_offset != 0 ) + + class core_all_at_once_t( core_t ): COMPILATION_MODE = COMPILATION_MODE.ALL_AT_ONCE INIT_OPTIMIZER = True Modified: pygccxml_dev/unittests/data/core_cache.hpp =================================================================== --- pygccxml_dev/unittests/data/core_cache.hpp 2007-12-04 18:44:14 UTC (rev 1192) +++ pygccxml_dev/unittests/data/core_cache.hpp 2007-12-04 20:52:37 UTC (rev 1193) @@ -22,4 +22,4 @@ #endif//__core_cache_hpp__ -//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch \ No newline at end of file +//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch \ No newline at end of file Modified: pygccxml_dev/unittests/data/core_types.hpp =================================================================== --- pygccxml_dev/unittests/data/core_types.hpp 2007-12-04 18:44:14 UTC (rev 1192) +++ pygccxml_dev/unittests/data/core_types.hpp 2007-12-04 20:52:37 UTC (rev 1193) @@ -46,6 +46,7 @@ struct members_pointers_t{ int some_function( double ) const throw( exception ); int m_some_const_member; + int xxx; }; typedef int (members_pointers_t::*member_function_ptr_t)( double )const; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-04 18:44:09
|
Revision: 1192 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1192&view=rev Author: roman_yakovenko Date: 2007-12-04 10:44:14 -0800 (Tue, 04 Dec 2007) Log Message: ----------- updating docs Modified Paths: -------------- index.rest Modified: index.rest =================================================================== --- index.rest 2007-12-04 13:53:43 UTC (rev 1191) +++ index.rest 2007-12-04 18:44:14 UTC (rev 1192) @@ -27,8 +27,12 @@ `Py++`_ package and `Boost.Python`_ library provide a complete solution for interfacing Python and C++. `Learn more`_. +*European Space Agency*, *Ogre*, *PyOpenSG* and many others `use`__ Py++. + .. _`Learn more` : `Py++`_ +.. __: ./pyplusplus/quotes.html + --------------- pyboost package --------------- @@ -79,6 +83,9 @@ .. _`pydsc`: ./pydsc/pydsc.html .. _`EasyBMP`: http://easybmp.sourceforge.net/ +.. _`many others` : ./x.html + + .. Local Variables: mode: indented-text This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-04 13:53:38
|
Revision: 1191 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1191&view=rev Author: roman_yakovenko Date: 2007-12-04 05:53:43 -0800 (Tue, 04 Dec 2007) Log Message: ----------- fixing rst syntax Modified Paths: -------------- pyplusplus_dev/docs/history/history.rest Modified: pyplusplus_dev/docs/history/history.rest =================================================================== --- pyplusplus_dev/docs/history/history.rest 2007-12-04 13:48:55 UTC (rev 1190) +++ pyplusplus_dev/docs/history/history.rest 2007-12-04 13:53:43 UTC (rev 1191) @@ -20,6 +20,7 @@ * Andy Miller * Martin Preisler * Meghana Haridev + ------------ Project name ------------ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-04 13:48:50
|
Revision: 1190 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1190&view=rev Author: roman_yakovenko Date: 2007-12-04 05:48:55 -0800 (Tue, 04 Dec 2007) Log Message: ----------- join build-in transformers with the "transformation" documentation Removed Paths: ------------- pyplusplus_dev/docs/documentation/functions/transformation/built_in/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-04 13:46:07
|
Revision: 1189 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1189&view=rev Author: roman_yakovenko Date: 2007-12-04 05:46:10 -0800 (Tue, 04 Dec 2007) Log Message: ----------- join build-in transformers with the "transformation" documentation Modified Paths: -------------- pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest Added Paths: ----------- pyplusplus_dev/docs/documentation/functions/transformation/inout.rest pyplusplus_dev/docs/documentation/functions/transformation/input.rest pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest pyplusplus_dev/docs/documentation/functions/transformation/output.rest pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest Added: pyplusplus_dev/docs/documentation/functions/transformation/inout.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/inout.rest (rev 0) +++ pyplusplus_dev/docs/documentation/functions/transformation/inout.rest 2007-12-04 13:46:10 UTC (rev 1189) @@ -0,0 +1,75 @@ +====================== +``inout`` transformer +====================== + +.. contents:: Table of contents + +---------- +Definition +---------- + +``inout`` transformer is a combination of `input`_ and `output`_ transformers. +It removes a "reference" type from the function argument and then adds the +"returned", by the original function, value to the return statement of the +function-wrapper. + +``inout`` transformer takes as argument name or index of the original function +argument. The argument should have "reference" type. Support for "pointer" type +will be added pretty soon. + +.. _`input` : input.html +.. _`output` : output.html + +------- +Example +------- + +.. code-block:: C++ + + #include <string> + + inline void hello_world( std::string& hw ){ + hw = "hello world!"; + } + +Lets say that you need to expose ``hello_world`` function. As you know +``std::string`` is mapped to `Python`_ string, which is immutable type, so you +have to create small wrapper for the function. Next `Py++`_ code does it for you: + + .. code-block:: Python + + from pyplusplus import module_builder + from pyplusplus import function_transformers as FT + + mb = module_builder.module_builder_t( ... ) + hw = mb.mem_fun( 'hello_world' ) + hw.add_transformation( FT.inout(0) ) + +What you see below is the relevant pieces of generated code: + + .. code-block:: C++ + + namespace bp = boost::python; + + static boost::python::object hello_world_a3478182294a057b61508c30b1361318( ::std::string hw ){ + ::hello_world(hw); + return bp::object( hw ); + } + + BOOST_PYTHON_MODULE(...){ + ... + bp::def( "hello_world", &hello_world_a3478182294a057b61508c30b1361318 ); + } + +.. _`Py++` : ./../../../pyplusplus.html +.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html +.. _`Python`: http://www.python.org +.. _`GCC-XML`: http://www.gccxml.org + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: Added: pyplusplus_dev/docs/documentation/functions/transformation/input.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input.rest (rev 0) +++ pyplusplus_dev/docs/documentation/functions/transformation/input.rest 2007-12-04 13:46:10 UTC (rev 1189) @@ -0,0 +1,68 @@ +====================== +``input`` transformer +====================== + +.. contents:: Table of contents + +---------- +Definition +---------- + +"input" transformer removes a "reference" type from the function argument. + +"input" transformer takes as argument name or index of the original function +argument. The argument should have "reference" type. Support for "pointer" type +will be added pretty soon. + +------- +Example +------- + +.. code-block:: C++ + + #include <string> + + inline void hello_world( std::string& hw ){ + hw = "hello world!"; + } + +Lets say that you need to expose ``hello_world`` function. As you know +``std::string`` is mapped to `Python`_ string, which is immutable type, so you +have to create small wrapper for the function. Next `Py++`_ code does it for you: + + .. code-block:: Python + + from pyplusplus import module_builder + from pyplusplus import function_transformers as FT + + mb = module_builder.module_builder_t( ... ) + hw = mb.mem_fun( 'hello_world' ) + hw.add_transformation( FT.input(0) ) + +What you see below is the relevant pieces of generated code: + + .. code-block:: C++ + + namespace bp = boost::python; + + static void hello_world_a3478182294a057b61508c30b1361318( ::std::string hw ){ + ::hello_world(hw); + } + + BOOST_PYTHON_MODULE(...){ + ... + bp::def( "hello_world", &hello_world_a3478182294a057b61508c30b1361318 ); + } + +.. _`Py++` : ./../../../pyplusplus.html +.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html +.. _`Python`: http://www.python.org +.. _`GCC-XML`: http://www.gccxml.org + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: Added: pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest (rev 0) +++ pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest 2007-12-04 13:46:10 UTC (rev 1189) @@ -0,0 +1,82 @@ +================================== +``input_c_buffer`` transformer +================================== + +.. contents:: Table of contents + +---------- +Definition +---------- + +"input_c_buffer" transformer works on C buffers. It handles the translation +between a `Python`_ sequence object and the buffer. + +"input_c_buffer" transformer takes as first argument name or index of the +"buffer" argument. The argument should have "array" or "pointer" type. +The second argument should be name or index of another original function argument, +which represents array size. + +------- +Example +------- + +.. code-block:: C++ + + struct file_t{ + void write( char* buffer, int size ) const; + }; + +In order to expose ``write`` member function we need to create small wrapper: +Next `Py++`_ code does it for you: + + .. code-block:: Python + + from pyplusplus import module_builder + from pyplusplus import function_transformers as FT + + mb = module_builder.module_builder_t( ... ) + f = mb.class_( 'file_t' ) + f.mem_fun( 'write' ).add_transformation( FT.input_c_buffer( 'buffer', 'size' ) ) + +What you see below is the relevant pieces of generated code: + + .. code-block:: C++ + + #include "__convenience.pypp.hpp" //Py++ header file, which contains few convenience function + + #include <vector> + + #include <iterator> + + namespace bp = boost::python; + + static void write_8883fea8925bad9911e6c5a4015ed106( ::file_t const & inst, boost::python::object buffer ){ + int size2 = boost::python::len(buffer); + std::vector< char > native_buffer; + native_buffer.reserve( size2 ); + pyplus_conv::ensure_uniform_sequence< char >( buffer ); + pyplus_conv::copy_sequence( buffer, std::back_inserter( native_buffer), boost::type< char >() ); + inst.write(&native_buffer[0], size2); + } + + BOOST_PYTHON_MODULE(...){ + ... + bp::class_< file_t >( "file_t" ) + .def( + "write" + , (void (*)( ::file_t const &,boost::python::object ))( &write_8883fea8925bad9911e6c5a4015ed106 ) + , ( bp::arg("inst"), bp::arg("buffer") ) ); + } + +.. _`Py++` : ./../../../pyplusplus.html +.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html +.. _`Python`: http://www.python.org +.. _`GCC-XML`: http://www.gccxml.org + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: Added: pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest (rev 0) +++ pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest 2007-12-04 13:46:10 UTC (rev 1189) @@ -0,0 +1,85 @@ +================================== +``input_static_array`` transformer +================================== + +.. contents:: Table of contents + +---------- +Definition +---------- + +"input_static_array" transformer works on native static arrays. It handles the +translation between `Python`_ object, passed as argument that represent a sequence, +and the array. Size of array should be predefined. + +"input_static_array" transformer takes as first argument name or index of the +original function argument. The argument should have "array" or "pointer" type. +The second argument should an integer value, which represents array size. + +------- +Example +------- + +.. code-block:: C++ + + struct vector3{ + + void init( int values[3] ){ + x = values[0]; + y = values[1]; + z = values[2]; + } + + int x,y,z; + }; + +In order to expose ``init`` member function we need to create small wrapper: +Next `Py++`_ code does it for you: + + .. code-block:: Python + + from pyplusplus import module_builder + from pyplusplus import function_transformers as FT + + mb = module_builder.module_builder_t( ... ) + v3 = mb.class_( 'vector3' ) + v3.mem_fun( 'init' ).add_transformation( FT.input_static_array( 0, 3 ) ) + +What you see below is the relevant pieces of generated code: + + .. code-block:: C++ + + #include "__convenience.pypp.hpp" //Py++ header file, which contains few convenience function + + namespace bp = boost::python; + + static void init_418e52f4a347efa6b7e123b96f32a73c( ::ft::vector3 & inst, boost::python::object values ){ + int native_values[3]; + pyplus_conv::ensure_uniform_sequence< int >( values, 3 ); + pyplus_conv::copy_sequence( values, pyplus_conv::array_inserter( native_values, 3 ) ); + inst.init(native_values); + } + + BOOST_PYTHON_MODULE(...){ + ... + bp::class_< ft::vector3 >( "vector3", "documentation" ) + .def( "init" + , &init_418e52f4a347efa6b7e123b96f32a73c + , ( bp::arg("inst"), bp::arg("values") ) ) + .def_readwrite( "x", &ft::vector3::x ) + .def_readwrite( "y", &ft::vector3::y ) + .def_readwrite( "z", &ft::vector3::z ); + } + +.. _`Py++` : ./../../../pyplusplus.html +.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html +.. _`Python`: http://www.python.org +.. _`GCC-XML`: http://www.gccxml.org + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: Added: pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest (rev 0) +++ pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest 2007-12-04 13:46:10 UTC (rev 1189) @@ -0,0 +1,79 @@ +=========================== +``modify_type`` transformer +=========================== + +.. contents:: Table of contents + +---------- +Definition +---------- + +"modify_type" transformer changes type of the function argument. + +"modify_type" transformer takes two arguments: + +1. name or index of the original function argument + +2. a callable, which takes as argument reference to type and returns new type + +New in version greater than 0.8.5. + +Pay attention! +-------------- + +If implicit conversion between new type and the old one does not exist +"reinterpret_cast" will be used. + +------- +Example +------- + +.. code-block:: C++ + + #include <string> + + inline void hello_world( std::string& hw ){ + hw = "hello world!"; + } + +Lets say that you need to expose ``hello_world`` function. As you know +``std::string`` is mapped to `Python`_ string, which is immutable type, so you +have to create small wrapper for the function. Next `Py++`_ code does it for you: + + .. code-block:: Python + + from pygccxml import declarations + from pyplusplus import module_builder + from pyplusplus import function_transformers as FT + + mb = module_builder.module_builder_t( ... ) + hw = mb.mem_fun( 'hello_world' ) + hw.add_transformation( FT.modify_type(0, declarations.remove_reference) ) + +What you see below is the relevant pieces of generated code: + + .. code-block:: C++ + + namespace bp = boost::python; + + static void hello_world_a3478182294a057b61508c30b1361318( ::std::string hw ){ + ::hello_world(hw); + } + + BOOST_PYTHON_MODULE(...){ + ... + bp::def( "hello_world", &hello_world_a3478182294a057b61508c30b1361318 ); + } + +.. _`Py++` : ./../../../pyplusplus.html +.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html +.. _`Python`: http://www.python.org +.. _`GCC-XML`: http://www.gccxml.org + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: Added: pyplusplus_dev/docs/documentation/functions/transformation/output.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/output.rest (rev 0) +++ pyplusplus_dev/docs/documentation/functions/transformation/output.rest 2007-12-04 13:46:10 UTC (rev 1189) @@ -0,0 +1,73 @@ +====================== +``output`` transformer +====================== + +.. contents:: Table of contents + +---------- +Definition +---------- + +"output" transformer removes an argument from the function definition and adds +the "returned", by the original function, value to the return statement of the +function-wrapper. + +"output" transformer takes as argument name or index of the original function +argument. The argument should have "reference" type. Support for "pointer" type +will be added pretty soon. + +------- +Example +------- + +.. code-block:: C++ + + #include <string> + + inline void hello_world( std::string& hw ){ + hw = "hello world!"; + } + +Lets say that you need to expose ``hello_world`` function. As you know +``std::string`` is mapped to `Python`_ string, which is immutable type, so you +have to create small wrapper for the function. Next `Py++`_ code does it for you: + + .. code-block:: Python + + from pyplusplus import module_builder + from pyplusplus import function_transformers as FT + + mb = module_builder.module_builder_t( ... ) + hw = mb.mem_fun( 'hello_world' ) + hw.add_transformation( FT.output(0) ) + +What you see below is the relevant pieces of generated code: + + .. code-block:: C++ + + namespace bp = boost::python; + + static boost::python::object hello_world_a3478182294a057b61508c30b1361318( ){ + std::string hw2; + ::hello_world(hw2); + return bp::object( hw2 ); + } + + BOOST_PYTHON_MODULE(...){ + ... + bp::def( "hello_world", &hello_world_a3478182294a057b61508c30b1361318 ); + } + + +.. _`Py++` : ./../../../pyplusplus.html +.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html +.. _`Python`: http://www.python.org +.. _`GCC-XML`: http://www.gccxml.org + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: Added: pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest (rev 0) +++ pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest 2007-12-04 13:46:10 UTC (rev 1189) @@ -0,0 +1,85 @@ +=================================== +``output_static_array`` transformer +=================================== + +.. contents:: Table of contents + +---------- +Definition +---------- + +"output_static_array" transformer works on native static arrays. It handles the +translation between array and `Python`_ list object. Size of array should be predefined. + +"output_static_array" transformer takes as first argument name or index of the +original function argument. The argument should have "array" or "pointer" type. +The second argument should an integer value, which represents array size. + +------- +Example +------- + +.. code-block:: C++ + + struct vector3{ + + void get_values( int values[3] ){ + values[0] = x; + values[1] = y; + values[2] = z; + } + + int x,y,z; + }; + +In order to expose ``get_values`` member function we need to create small wrapper: +Next `Py++`_ code does it for you: + + .. code-block:: Python + + from pyplusplus import module_builder + from pyplusplus import function_transformers as FT + + mb = module_builder.module_builder_t( ... ) + v3 = mb.class_( 'vector3' ) + v3.mem_fun( 'get_values' ).add_transformation( FT.output_static_array( 0, 3 ) ) + +What you see below is the relevant pieces of generated code: + + .. code-block:: C++ + + #include "__convenience.pypp.hpp" //Py++ header file, which contains few convenience function + + namespace bp = boost::python; + + static boost::python::object get_values_22786c66e5973b70f714e7662e2aecd2( ::ft::vector3 & inst ){ + int native_values[3]; + boost::python::list py_values; + inst.get_values(native_values); + pyplus_conv::copy_container( native_values, native_values + 3, pyplus_conv::list_inserter( py_values ) ); + return bp::object( py_values ); + } + + BOOST_PYTHON_MODULE(...){ + ... + bp::class_< ft::vector3 >( "vector3", "documentation" ) + .def( "get_values" + , &get_values_22786c66e5973b70f714e7662e2aecd2 + , ( bp::arg("inst") ) ) + .def_readwrite( "x", &ft::vector3::x ) + .def_readwrite( "y", &ft::vector3::y ) + .def_readwrite( "z", &ft::vector3::z ); + } + +.. _`Py++` : ./../../../pyplusplus.html +.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html +.. _`Python`: http://www.python.org +.. _`GCC-XML`: http://www.gccxml.org + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: Added: pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest (rev 0) +++ pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest 2007-12-04 13:46:10 UTC (rev 1189) @@ -0,0 +1,78 @@ +================================== +``transfer_ownership`` transformer +================================== + +.. contents:: Table of contents + +---------- +Definition +---------- + +"transfer_ownership" transformer changes type of the function argument, from +``T*`` to ``std::auto_ptr<T>``. This transformer was born to provide the answer +to `How can I wrap a function which needs to take ownership of a raw pointer?`_ +FAQ. + +.. _`How can I wrap a function which needs to take ownership of a raw pointer?` : http://boost.org/libs/python/doc/v2/faq.html#ownership + +"transfer_ownership" transformer takes one argument, name or index of the +original function argument. The argument type should be "pointer". + +New in version greater than 0.8.5. + +------- +Example +------- + +.. code-block:: C++ + + struct resource_t{...}; + + void do_smth(resource_t* r){ + ... + } + +Lets say that you need to expose "do_smth" function. According to the FAQ, you +have to create small wrapper, which will take ``std::auto_ptr`` as an argument. +Next `Py++`_ code does it for you: + + .. code-block:: Python + + from pygccxml import declarations + from pyplusplus import module_builder + from pyplusplus import function_transformers as FT + + mb = module_builder.module_builder_t( ... ) + + resource = mb.class_( 'resource_t' ) + resource.held_type = 'std::auto_ptr< %s >' % resource.decl_string + do_smth = mb.free_fun( 'do_smth' ) + do_smth.add_transformation( FT.transfer_ownership( 0 ) ) + +What you see below is the relevant pieces of generated code: + + .. code-block:: C++ + + namespace bp = boost::python; + + static void do_smth_4cf7cde5fca92efcdb8519f8c1a4bccd( std::auto_ptr< ::resource_t > r ){ + ::do_smth(r.release()); + } + + BOOST_PYTHON_MODULE(...){ + ... + bp::def( "do_smth", &do_smth_4cf7cde5fca92efcdb8519f8c1a4bccd, ( bp::arg("r") ) ); + } + +.. _`Py++` : ./../../../pyplusplus.html +.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html +.. _`Python`: http://www.python.org +.. _`GCC-XML`: http://www.gccxml.org + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest 2007-12-04 13:15:03 UTC (rev 1188) +++ pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest 2007-12-04 13:46:10 UTC (rev 1189) @@ -78,6 +78,47 @@ A thanks goes to Matthias Baas for his efforts and hard work. He did a research, implemented the initial working version and wrote a lot of documentation. +--------------------- +Built-in transformers +--------------------- + +`Py++`_ comes with few predefined transformers: + +* ``output`` + +* ``input`` + +* ``inout`` + +* ``modify_type`` + +* ``input_static_array`` + +* ``output_static_array`` + +* ``input_c_buffer`` + +* ``transfer_ownership`` + +The set doesn't cover all common use cases, but it will grow with every new +version of `Py++`_. If you created your own transformer consider to contribute +it to the project. + +I suggest you to start reading `output`_ transformer. It is pretty simple and +well explained. + +.. _`output` : ./output.html + +All built-in transformers could be applied on any function, except constructors +and pure virtual functions. The support for them be added in future releases. + +You don't have to worry about call policies. You can set the call policy and +`Py++`_ will generate the correct code. + +You don't have to worry about the number of arguments, transformers or return +value. `Py++`_ handles pretty well such use cases. + + .. _`Py++` : ./../../../pyplusplus.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-04 13:14:59
|
Revision: 1188 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1188&view=rev Author: roman_yakovenko Date: 2007-12-04 05:15:03 -0800 (Tue, 04 Dec 2007) Log Message: ----------- delete custom transf documentation Removed Paths: ------------- pyplusplus_dev/docs/documentation/functions/transformation/custom/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-04 08:01:42
|
Revision: 1187 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1187&view=rev Author: roman_yakovenko Date: 2007-12-04 00:01:45 -0800 (Tue, 04 Dec 2007) Log Message: ----------- adding attributes printing to decl_printer.py Modified Paths: -------------- pygccxml_dev/pygccxml/declarations/decl_printer.py Modified: pygccxml_dev/pygccxml/declarations/decl_printer.py =================================================================== --- pygccxml_dev/pygccxml/declarations/decl_printer.py 2007-12-03 22:42:18 UTC (rev 1186) +++ pygccxml_dev/pygccxml/declarations/decl_printer.py 2007-12-04 08:01:45 UTC (rev 1187) @@ -91,7 +91,11 @@ self.writer( ' ' * curr_level * self.INDENT_SIZE + location + os.linesep ) artificial = 'artificial: ' + "'%s'" % str(self.__inst.is_artificial) self.writer( ' ' * curr_level * self.INDENT_SIZE + artificial.ljust( self.JUSTIFY ) + os.linesep ) + if self.__inst.attributes: + attributes = 'attributes: %s'%(self.__inst.attributes) + self.writer( ' ' * curr_level * self.INDENT_SIZE + attributes + os.linesep ) + def __get_method_signature(self, decl=None): """ Returns function signature: [retval, [arg1, ..., argN]]. """ if None is decl: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-03 22:42:19
|
Revision: 1186 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1186&view=rev Author: roman_yakovenko Date: 2007-12-03 14:42:18 -0800 (Mon, 03 Dec 2007) Log Message: ----------- doc updates Modified Paths: -------------- pyplusplus_dev/docs/comparisons/compare_to.rest pyplusplus_dev/docs/links.rest pyplusplus_dev/docs/peps/peps_index.rest pyplusplus_dev/docs/quotes.rest Added Paths: ----------- pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/ pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.odt pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.pdf pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/www_configuration.py Modified: pyplusplus_dev/docs/comparisons/compare_to.rest =================================================================== --- pyplusplus_dev/docs/comparisons/compare_to.rest 2007-12-03 22:40:37 UTC (rev 1185) +++ pyplusplus_dev/docs/comparisons/compare_to.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -12,7 +12,7 @@ any more. Nevertheless, users request to compare `Py++`_ and `Pyste`_. You can read `here`_ the comparison. -.. _`here` : ./Pyste.html +.. _`here` : ./pyste.html ---------- SWIG & SIP Modified: pyplusplus_dev/docs/links.rest =================================================================== --- pyplusplus_dev/docs/links.rest 2007-12-03 22:40:37 UTC (rev 1185) +++ pyplusplus_dev/docs/links.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -96,6 +96,23 @@ .. _`Sq Plus` : http://wiki.squirrel-lang.org/default.aspx/SquirrelWiki/SqPlus.html .. _`Squirrel` : http://wiki.squirrel-lang.org/ +----------------------------- +Projects inspired by Py++ :-) +----------------------------- + +* `PyBindGen`_ - a new project for producing Python extensions + +.. _`PyBindGen` : https://launchpad.net/pybindgen + +----- +Blogs +----- + +* http://www.shocksolution.com/math_tools/boost.python/index.html - this site + contains few usefull Boost.Python examples and tutorials. + + + .. Local Variables: mode: indented-text Modified: pyplusplus_dev/docs/peps/peps_index.rest =================================================================== --- pyplusplus_dev/docs/peps/peps_index.rest 2007-12-03 22:40:37 UTC (rev 1185) +++ pyplusplus_dev/docs/peps/peps_index.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -53,22 +53,6 @@ .. _`DSL challenge` : ./dsl_challenge.html ---------------- -Unicode support ---------------- - -In version 0.8.1 `Py++`_ introduced nice feature: automatic extraction and -integration of documentation strings. I estimated wrong the influence of the -feature on the project. First user, who actually tried it, was Gottfried Ganssauge. -He asked me to add support for documentation string that contains Unicode characters. -These days I understand the influence. I should convert all strings in the whole -project to be Unicode strings, with encoding specified by the user. This is a -lot of work, but I think this is really important. So this is high priority "TODO". - -http://www.joelonsoftware.com/articles/Unicode.html - a nice article, which -explains what is Unicode, encoding and character sets. - - .. _`Py++` : ./../pyplusplus.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org Modified: pyplusplus_dev/docs/quotes.rest =================================================================== --- pyplusplus_dev/docs/quotes.rest 2007-12-03 22:40:37 UTC (rev 1185) +++ pyplusplus_dev/docs/quotes.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -46,6 +46,31 @@ Who is using Py++? ------------------ +* European Space Agency - `ReSP`_ project + + `ReSP`_ is an Open-Source hardware simulation platform targeted for + multiprocessor systems. ReSP will provide a framework for composing a + system by connecting components chosen from a given repository or + developped by the designer. ReSP will provide also also a framework for + fault injection campaigns for the analysis of the reliability level of the + system. + + `ReSP`_ engineers are developping the simulator core in Python language for exploiting + reflective capabilities (missing in a pure C++ environment) that can be + exploited for connecting components in a dynamic way and for enabling + non-intrusive fault injection activity. Components will be described in + SystemC and TLM libraries that are high level hardware description + languages based on C++. + + .. _`ReSP` : http://www.esa.int/TEC/Microelectronics/ + +* Allen Bierbaum, the author of `PyOpenSG`_ project, is using `Py++`_ to create + Python bindings for `OpenSG`_ + + `OpenSG`_ - is a portable scenegraph system to create realtime graphics + programs, e.g. for virtual reality applications. + + * Matthias Baas, the author of `Python Computer Graphics Kit`_ project, is using `Py++`_ to create Python bindings for `Maya C++ SDK`__. @@ -94,30 +119,14 @@ You can download the bindings from https://sourceforge.net/project/showfiles.php?group_id=118209 . -* European Space Agency - `ReSP`_ project - - `ReSP`_ is an Open-Source hardware simulation platform targeted for - multiprocessor systems. ReSP will provide a framework for composing a - system by connecting components chosen from a given repository or - developped by the designer. ReSP will provide also also a framework for - fault injection campaigns for the analysis of the reliability level of the - system. - - `ReSP`_ engineers are developping the simulator core in Python language for exploiting - reflective capabilities (missing in a pure C++ environment) that can be - exploited for connecting components in a dynamic way and for enabling - non-intrusive fault injection activity. Components will be described in - SystemC and TLM libraries that are high level hardware description - languages based on C++. - - .. _`ReSP` : http://www.esa.int/TEC/Microelectronics/ - .. _`Py++` : ./pyplusplus.html .. _`Python Computer Graphics Kit` : http://cgkit.sourceforge.net/ .. _`TnFOX`: http://www.nedprod.com/TnFOX/ -.. _`PyOpenSG`: https://realityforge.vrsource.org/view/PyOpenSG/WebHome .. _`Python-OGRE` : http://www.python-ogre.org .. _`OGRE` : http://www.ogre3d.org/index.php?option=com_content&task=view&id=19&Itemid=79 +.. _`PyOpenSG` : https://realityforge.vrsource.org/trac/pyopensg +.. _`OpenSG` : http://opensg.vrsource.org/trac + .. Local Variables: mode: indented-text Added: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.odt =================================================================== (Binary files differ) Property changes on: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.odt ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.pdf =================================================================== (Binary files differ) Property changes on: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.pdf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest (rev 0) +++ pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -0,0 +1,128 @@ +==================== +Easy extending guide +==================== + +.. contents:: Table of contents + +------------ +Introduction +------------ + +"... Boost.Python library is designed to wrap C++ interfaces non-intrusively, so that +you should not have to change the C++ code at all in order to wrap it." + +The previous statement is almost true. There are few use cases that the library +doesn't support. This guide will list some of them and will offer few possible +solutions. + +------------------- +Pointer to function +------------------- + +Boost.Python doesn't handle "pointer to function" functionality. You cannot pass +it as function argument or keep it, as a member variable. + +The simple work-around is to use `command design pattern`_ + +.. _`command design pattern` : http://en.wikipedia.org/wiki/Command_pattern + +------------------------------------ +Problematic function arguments types +------------------------------------ + +C arrays +-------- + +Boost.Python doesn't handle ``C arrays``, the only exception are ``char*`` and +``wchar_t*``. + +Consider next function: + +.. code-block:: C++ + + int write( int* data, size_t size ); + +The technical reasons are not the only one that prevent Boost.Python to expose such +functions, there is a mental one: such interface is not intuitive for Python +developers. They expect to pass single argument. For example, built-in ``file.write`` +method takes a single argument - sequence of characters. + +Work-around: + + 1. With small help from the developer, Py++ generates code which feets well into + Python developer mental model. Pure virtual member functions are a special + case, which Py++ doesn't handle right now. + + 2. Use STL containers, ``std::vector<...>`` and others. + + +Immutable by reference +---------------------- + +Python defines few fundamental types as "immutable". The value of an instance of +the immutable type could not be changed after construction. Try to avoid passing +the immutable types by reference. + +Immutable types: + + * ``char`` + * ``signed char`` + * ``unsigned char`` + * ``wchar_t`` + * ``short int`` + * ``short unsigned int`` + * ``bool`` + * ``int`` + * ``unsigned int`` + * ``long int`` + * ``long unsigned int`` + * ``long long int`` + * ``long long unsigned int`` + * ``float`` + * ``double`` + * ``long double`` + * ``complex double`` + * ``complex long double`` + * ``complex float`` + * ``std::string`` + * ``std::wstring`` + * C++ ``enum`` is mapped to Python ``int`` type + * smart pointers + +Work around: + + * Just don't pass them by reference :-) + + * With small help from the developer, Py++ generates code which work-arounds + this issue, but the resulting interface is ugly. + +``void*`` +--------- + +In most cases, ``void*`` is used when a developer has to deal with a memory block. +Python provides support for this functionality, but I still didn't find an easy and +intuitive way to expose it. There is no work-around for this issue. + +If you use ``void*`` to pass a reference to some object, than Boost.Python and Py++ +support such use case. + +---------------- +Memory managment +---------------- + +* Use ``std::auto_ptr`` to transfer ownership and responsibility for an object + destruction. + +* The only well supported smart pointer class is ``boost::shared_ptr``. I suggest + you to use it all the time, especially in cases where you want to create object + from Python and pass ownership to C++ code. You don't want the headache associated + with this task. + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: + Added: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/www_configuration.py =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/www_configuration.py (rev 0) +++ pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/www_configuration.py 2007-12-03 22:42:18 UTC (rev 1186) @@ -0,0 +1,2 @@ +name = 'easy extending guide' +names = {} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-03 22:40:32
|
Revision: 1185 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1185&view=rev Author: roman_yakovenko Date: 2007-12-03 14:40:37 -0800 (Mon, 03 Dec 2007) Log Message: ----------- doc updates Added Paths: ----------- pygccxml_dev/docs/users.rest Added: pygccxml_dev/docs/users.rest =================================================================== --- pygccxml_dev/docs/users.rest (rev 0) +++ pygccxml_dev/docs/users.rest 2007-12-03 22:40:37 UTC (rev 1185) @@ -0,0 +1,18 @@ +====================== +Who is using pygccxml? +====================== + +.. contents:: Table of contents + +* `PyBindGen`_ - is a Python module that is geared to generating C/C++ code + that binds a C/C++ library for Python. + +.. _`PyBindGen` : https://launchpad.net/pybindgen + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |