Revision: 230
Author: roman_yakovenko
Date: 2006-06-18 13:07:05 -0700 (Sun, 18 Jun 2006)
ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=230&view=rev
Log Message:
-----------
improving rbustness of indexing suite
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/module_creator/types_database.py
Modified: pyplusplus_dev/pyplusplus/module_creator/types_database.py
===================================================================
--- pyplusplus_dev/pyplusplus/module_creator/types_database.py 2006-06-18 17:32:31 UTC (rev 229)
+++ pyplusplus_dev/pyplusplus/module_creator/types_database.py 2006-06-18 20:07:05 UTC (rev 230)
@@ -3,8 +3,10 @@
# accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
+import os
from pygccxml import declarations
from pyplusplus import code_creators
+from pyplusplus import _logging_
templates = declarations.templates
class types_database_t( object ):
@@ -54,8 +56,16 @@
type = declarations.remove_reference( type )
may_be_vector = declarations.vector_traits.declaration_or_none( type )
if not ( None is may_be_vector ):
- self.__used_vectors.add( may_be_vector )
- return True
+ try:
+ declarations.vector_traits.value_type( may_be_vector )
+ self.__used_vectors.add( may_be_vector )
+ return True
+ except RuntimeError, error:
+ msg = 'WARNING: pyplusplus found std::vector instantiation declaration, '
+ msg = msg + 'but can not find out value type!'
+ msg = msg + os.linesep + 'This class will not be exported!'
+ msg = msg + os.linesep + 'std::vector instantiation is: ' + may_be_vector.decl_string
+ _logging_.logger.warn( msg )
return False
def _update_db( self, db, type_ ):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|