Trees | Indices | Help |
|
---|
|
1 # Copyright 2004-2008 Roman Yakovenko. 2 # Distributed under the Boost Software License, Version 1.0. (See 3 # accompanying file LICENSE_1_0.txt or copy at 4 # http://www.boost.org/LICENSE_1_0.txt) 5 6 import os 7 import types 8 import algorithm 9 import code_creator 10 import declaration_based 11 import registration_based 12 from pygccxml import declarations13 14 -class exception_translator_t( code_creator.code_creator_t 15 , declaration_based.declaration_based_t ):17 code_creator.code_creator_t.__init__( self ) 18 declaration_based.declaration_based_t.__init__( self, declaration=exception_class )19 20 @property 2325 if self.declaration.already_exposed: 26 return '' 27 return os.linesep.join([ 28 "void translate_%(alias)s( const %(cls_name)s& %(arg_name)s ){" \ 29 , self.indent( self.declaration.exception_translation_code ) 30 , "}"]) \ 31 % { 'alias' : self.declaration.alias 32 , 'cls_name' : self.decl_identifier 33 , 'arg_name' : self.declaration.exception_argument_name }34 3738 39 -class exception_translator_register_t( registration_based.registration_based_t 40 , declaration_based.declaration_based_t ):42 registration_based.registration_based_t.__init__( self ) 43 declaration_based.declaration_based_t.__init__( self, declaration=exception_class ) 44 self.works_on_instance = False 45 self.translator = exception_translator4648 if self.declaration.already_exposed: 49 return '' 50 51 return '%(register_exception_translator)s< %(cls)s >( &%(translator)s );' \ 52 % { 'register_exception_translator' : algorithm.create_identifier( self, 'boost::python::register_exception_translator' ) 53 , 'cls' : self.decl_identifier 54 , 'translator' : self.translator.translator_name }55 58
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Mon Oct 20 08:51:43 2008 | http://epydoc.sourceforge.net |