Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Created by Hugh Perkins 2014
- # You can freely use this, but appreciate you give me credit for the idea
- #
- # simply add it to your header file like:
- #
- # // [[[cog
- # // import cog_addheaders
- # // cog_addheaders.add()
- # // ]]]
- # // [[[end]]]
- #
- # ... and run cog on the header file, to generate the header declarations
- import cog
- def add():
- # debug = open('debug.txt', 'a' )
- # debug.write( 'foo\n')
- # debug.write( 'infile [' + cog.inFile + ']\n' )
- infile = cog.inFile
- cppfile = infile.replace('.h','.cpp')
- splitinfile = infile.split('/')
- infilename = splitinfile[ len(splitinfile) - 1 ]
- classname = infilename.replace('.h','')
- #cog.outl( '// classname: ' + classname )
- #cog.outl( '// cppfile: ' + cppfile )
- f = open( cppfile, 'r')
- line = f.readline()
- cog.outl('')
- while( line != '' ):
- # cog.outl(line)
- if( line.find( classname + '::' ) >= 0 ):
- fnheader = line.replace( classname + '::', '' )
- fnheader = fnheader.replace( '{', '' )
- fnheader = fnheader.replace( ':', '' )
- fnheader = fnheader.strip().replace( ')', ');' )
- fnheader = fnheader.strip().replace( ';const', 'const;' )
- fnheader = fnheader.strip().replace( '; const', ' const;' )
- cog.outl( fnheader );
- line = f.readline()
- f.close()
- cog.outl('')
- # debug.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement