Package pyplusplus :: Package decl_wrappers :: Module scopedef_wrapper

Source Code for Module pyplusplus.decl_wrappers.scopedef_wrapper

 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  """defines base class for L{decl_wrappers.class_t} and L{decl_wrappers.namespace_t} classes""" 
 7   
 8  import decl_wrapper 
 9  from pyplusplus import messages 
10   
11 -class scopedef_t(decl_wrapper.decl_wrapper_t):
12 """base class for L{decl_wrappers.class_t} and L{decl_wrappers.namespace_t} classes 13 14 It provides convinience functionality: include\\exclude all internal declarations 15 (not) to be exported. 16 """ 17
18 - def __init__(self):
20
21 - def exclude( self, compilation_errors=False ):
22 """exclude "self" and child declarations from being exposed. 23 24 If compile_time_errors is True, than only declarations, which will cause 25 compilation error will be excluded 26 """ 27 if False == compilation_errors: 28 #exclude all unconditionaly 29 self.ignore = True 30 map( lambda decl: decl.exclude(), self.declarations ) 31 else: 32 if filter( lambda msg: isinstance( msg, messages.compilation_error ) 33 , self.readme() ): 34 self.exclude() 35 else: 36 map( lambda decl: decl.exclude(compilation_errors=True) 37 , self.declarations )
38
39 - def include( self, already_exposed=False ):
40 """Include "self" and child declarations to be exposed.""" 41 self.ignore = False 42 self.already_exposed = already_exposed 43 map( lambda decl: decl.include(already_exposed), self.declarations )
44