[pygccxml-commit] SF.net SVN: pygccxml: [1301] pyplusplus_dev/pyplusplus
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2008-04-07 21:41:43
|
Revision: 1301 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1301&view=rev Author: roman_yakovenko Date: 2008-04-07 14:41:50 -0700 (Mon, 07 Apr 2008) Log Message: ----------- bug fix: don't create _xxx_value_traits.pypp.hpp file ( and class ) if the class has both "=" and "<" available operators Modified Paths: -------------- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py pyplusplus_dev/pyplusplus/module_creator/creator.py Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2008-04-07 21:38:11 UTC (rev 1300) +++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2008-04-07 21:41:50 UTC (rev 1301) @@ -149,6 +149,9 @@ if not class_traits.is_my_case( element_type ): return None value_class = class_traits.get_declaration( element_type ) + if value_class.less_than_comparable and value_class.equality_comparable: + return None #Py++ doesn't create value traits for class that has + # = and < operators available return self.create_value_traits_header_name( value_class ) except RuntimeError, error: decls_logger = _logging_.loggers.declarations Modified: pyplusplus_dev/pyplusplus/module_creator/creator.py =================================================================== --- pyplusplus_dev/pyplusplus/module_creator/creator.py 2008-04-07 21:38:11 UTC (rev 1300) +++ pyplusplus_dev/pyplusplus/module_creator/creator.py 2008-04-07 21:41:50 UTC (rev 1301) @@ -305,7 +305,9 @@ class_traits = declarations.class_traits if not ( None is element_type ) and class_traits.is_my_case( element_type ): value_cls = class_traits.get_declaration( element_type ) - if value_cls not in created_value_traits: + has_prerequisits = value_cls.less_than_comparable \ + and value_cls.equality_comparable + if ( not has_prerequisits ) and ( value_cls not in created_value_traits ): created_value_traits.add( value_cls ) element_type_cc = code_creators.value_traits_t( value_cls ) self.__extmodule.adopt_declaration_creator( element_type_cc ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |