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"""Code generator configuration classes 7 8:mod:`pygccxml.declarations` package contains classes, which describe C++ declarations. 9This package contains classes that derive from the :mod:`pygccxml.declarations` classes. 10The classes in this package allow you to configure the code generator. 11""" 12 13from . import algorithm 14 15from .decl_wrapper import CODE_GENERATOR_TYPES 16from .decl_wrapper import decl_wrapper_t 17 18from .calldef_wrapper import calldef_t 19from .calldef_wrapper import member_function_t 20from .calldef_wrapper import constructor_t 21from .calldef_wrapper import destructor_t 22from .calldef_wrapper import member_operator_t 23from .calldef_wrapper import casting_operator_t 24from .calldef_wrapper import free_function_t 25from .calldef_wrapper import free_operator_t 26 27from .class_wrapper import class_declaration_t 28from .class_wrapper import class_t 29 30from .enumeration_wrapper import enumeration_t 31 32from .namespace_wrapper import namespace_t 33 34from .typedef_wrapper import typedef_t 35 36from .variable_wrapper import variable_t 37 38from .scopedef_wrapper import scopedef_t 39 40from pygccxml import declarations 41 42from .call_policies import call_policy_t 43from .call_policies import default_call_policies_t 44from .call_policies import default_call_policies 45from .call_policies import compound_policy_t 46from .call_policies import return_argument_t 47from .call_policies import return_arg 48from .call_policies import return_self 49from .call_policies import return_internal_reference_t 50from .call_policies import return_internal_reference 51from .call_policies import with_custodian_and_ward_t 52from .call_policies import with_custodian_and_ward 53from .call_policies import with_custodian_and_ward_postcall_t 54from .call_policies import with_custodian_and_ward_postcall 55from .call_policies import return_value_policy_t 56from .call_policies import copy_const_reference 57from .call_policies import copy_non_const_reference 58from .call_policies import manage_new_object 59from .call_policies import reference_existing_object 60from .call_policies import return_by_value 61from .call_policies import return_opaque_pointer 62from .call_policies import return_value_policy 63from .call_policies import return_pointee_value 64from .call_policies import return_addressof 65from .call_policies import is_return_opaque_pointer_policy 66from .call_policies import custom_call_policies_t 67from .call_policies import custom_call_policies 68from .call_policies import convert_array_to_tuple_t 69from .call_policies import convert_array_to_tuple 70from .call_policies import memory_managers 71from .call_policies import return_range 72from .call_policies import return_range_t 73 74from .decl_wrapper_printer import decl_wrapper_printer_t 75from .decl_wrapper_printer import print_declarations 76 77from .user_text import user_text_t 78from .user_text import class_user_text_t 79 80from .indexing_suite1 import indexing_suite1_t 81from .indexing_suite2 import indexing_suite2_t 82 83from .doc_extractor import doc_extractor_i 84 85from .properties import property_t 86from .properties import property_recognizer_i 87from .properties import name_based_recognizer_t 88 89from . import python_traits 90 91class dwfactory_t( declarations.decl_factory_t ): 92 """declarations factory class""" 93 def __init__(self): 94 declarations.decl_factory_t.__init__(self) 95 96 def create_member_function( self, *arguments, **keywords ): 97 return member_function_t(*arguments, **keywords) 98 99 def create_constructor( self, *arguments, **keywords ): 100 return constructor_t(*arguments, **keywords) 101 102 def create_destructor( self, *arguments, **keywords ): 103 return destructor_t(*arguments, **keywords) 104 105 def create_member_operator( self, *arguments, **keywords ): 106 return member_operator_t(*arguments, **keywords) 107 108 def create_casting_operator( self, *arguments, **keywords ): 109 return casting_operator_t(*arguments, **keywords) 110 111 def create_free_function( self, *arguments, **keywords ): 112 return free_function_t(*arguments, **keywords) 113 114 def create_free_operator( self, *arguments, **keywords ): 115 return free_operator_t(*arguments, **keywords) 116 117 def create_class_declaration(self, *arguments, **keywords ): 118 return class_declaration_t(*arguments, **keywords) 119 120 def create_class( self, *arguments, **keywords ): 121 return class_t(*arguments, **keywords) 122 123 def create_enumeration( self, *arguments, **keywords ): 124 return enumeration_t(*arguments, **keywords) 125 126 def create_namespace( self, *arguments, **keywords ): 127 return namespace_t(*arguments, **keywords) 128 129 def create_typedef( self, *arguments, **keywords ): 130 return typedef_t(*arguments, **keywords) 131 132 def create_variable( self, *arguments, **keywords ): 133 return variable_t(*arguments, **keywords) 134