Revision: 983
http://svn.sourceforge.net/pygccxml/?rev=983&view=rev
Author: roman_yakovenko
Date: 2007-04-14 23:33:36 -0700 (Sat, 14 Apr 2007)
Log Message:
-----------
adding few small convenience methods
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/code_creators/code_creator.py
pyplusplus_dev/pyplusplus/code_creators/compound.py
Modified: pyplusplus_dev/pyplusplus/code_creators/code_creator.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/code_creator.py 2007-04-15 06:31:35 UTC (rev 982)
+++ pyplusplus_dev/pyplusplus/code_creators/code_creator.py 2007-04-15 06:33:36 UTC (rev 983)
@@ -100,15 +100,25 @@
assert isinstance( code, types.StringTypes )
return self.beautify( code )
- def get_system_headers( self ):
- files = [ "boost/python.hpp" ]
- files.extend( self._get_system_headers_impl() )
- return filter( None, files)
+ @staticmethod
+ def unique_headers( headers ):
+ used = set()
+ uheaders = []
+ for h in headers:
+ if h not in used:
+ used.add( h )
+ uheaders.append( h )
+ return uheaders
def _get_system_headers_impl( self ):
"""Return list of system header files the generated code depends on"""
raise NotImplementedError(self.__class__.__name__)
-
+
+ def get_system_headers( self, recursive=False ):
+ files = [ "boost/python.hpp" ]
+ files.extend( self._get_system_headers_impl() )
+ return filter( None, files)
+
def beautify( self, code ):
"""
function that returns code without leading and trailing whitespaces.
Modified: pyplusplus_dev/pyplusplus/code_creators/compound.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/compound.py 2007-04-15 06:31:35 UTC (rev 982)
+++ pyplusplus_dev/pyplusplus/code_creators/compound.py 2007-04-15 06:33:36 UTC (rev 983)
@@ -74,4 +74,12 @@
, internals )
for index in range( len( internals ) - 1):
internals[index] = internals[index] + os.linesep
- return os.linesep.join( internals )
\ No newline at end of file
+ return os.linesep.join( internals )
+
+ def get_system_headers( self, recursive=False ):
+ files = [ "boost/python.hpp" ]
+ files.extend( self._get_system_headers_impl() )
+ if recursive:
+ for creator in self._creators:
+ files.extend( creator.get_system_headers(recursive) )
+ return files
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|