1   
  2   
  3   
  4   
  5   
  6  """defines class, that describes C++ namespace declaration""" 
  7   
  8  import declaration 
  9  import scopedef 
 10  import algorithm 
 11   
 13      """ 
 14      describes C++ namespace 
 15      """ 
 16   
 17 -    def __init__( self, name='', declarations=None ): 
  23   
 29   
 31          """implementation details""" 
 32          return [ self._sorted_list( self.declarations ) ] 
  33   
 35          return self._declarations 
  38      declarations = property( scopedef.scopedef_t._get_declarations 
 39                               , _set_declarations 
 40                               , doc="list of all declarations, defined in the namespace") 
 41   
 50   
 55           
 65           
 66           
 67           
 68   
 69 -    def namespace( self, name=None, function=None, recursive=None ): 
  75      ns = namespace 
 76       
 77 -    def namespaces( self, name=None, function=None, recursive=None, allow_empty=None ): 
  84      nss = namespaces 
 85       
 86 -    def free_function( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): 
  97      free_fun = free_function 
 98       
 99 -    def free_functions( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ): 
 100          """returns a set of free function declarations, that are matched defined criterias""" 
101          return self._find_multiple( scopedef.scopedef_t._impl_matchers[ namespace_t.free_function ] 
102                                      , name=name 
103                                      , function=function 
104                                      , decl_type=self._impl_decl_types[ namespace_t.free_function ] 
105                                      , return_type=return_type 
106                                      , arg_types=arg_types 
107                                      , header_dir=header_dir 
108                                      , header_file=header_file 
109                                      , recursive=recursive 
110                                      , allow_empty=allow_empty) 
 111      free_funs = free_functions 
112   
113 -    def free_operator( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): 
 114          """returns reference to free operator declaration, that is matched defined criterias""" 
115          return self._find_single( scopedef.scopedef_t._impl_matchers[ namespace_t.free_operator ] 
116                                    , name=self._build_operator_name( name, function, symbol ) 
117                                    , symbol=symbol 
118                                    , function=self._build_operator_function( name, function ) 
119                                    , decl_type=self._impl_decl_types[ namespace_t.free_operator ] 
120                                    , return_type=return_type 
121                                    , arg_types=arg_types 
122                                    , header_dir=header_dir 
123                                    , header_file=header_file 
124                                    , recursive=recursive ) 
 125   
126 -    def free_operators( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ): 
 127          """returns a set of free operator declarations, that are matched defined criterias""" 
128          return self._find_multiple( scopedef.scopedef_t._impl_matchers[ namespace_t.free_operator ] 
129                                      , name=self._build_operator_name( name, function, symbol ) 
130                                      , symbol=symbol 
131                                      , function=self._build_operator_function( name, function ) 
132                                      , decl_type=self._impl_decl_types[ namespace_t.free_operator ] 
133                                      , return_type=return_type 
134                                      , arg_types=arg_types 
135                                      , header_dir=header_dir 
136                                      , header_file=header_file 
137                                      , recursive=recursive 
138                                      , allow_empty=allow_empty) 
 139   
 145