Package pyplusplus :: Package module_creator :: Module creator :: Class creator_t

# type creator_t

source code

                                           object --+
                                                    |
    pygccxml.declarations.decl_visitor.decl_visitor_t --+
                                                        |
                                                       creator_t

Creating code creators.

This class takes a set of declarations as input and creates a code creator tree that contains the Boost.Python C++ source code for the final extension module. Each node in the code creators tree represents a block of text (C++ source code).

Usage of this class: Create an instance and pass all relevant input data to the constructor. Then call create() to obtain the code creator tree whose root node is a module_t object representing the source code for the entire extension module.

Instance Methods

__init__(self, decls, module_name, boost_python_ns_name=`'``bp``'`, call_policies_resolver_=None, types_db=None, target_configuration=None, enable_indexing_suite=True, doc_extractor=None) Constructor. | source code

module_t

create(self, decl_headers=None) Create and return the module for the extension. | source code

visit_member_function(self) | source code

visit_constructor(self) | source code

visit_destructor(self) | source code

visit_member_operator(self) | source code

visit_casting_operator(self) | source code

visit_free_function(self) | source code

visit_free_operator(self) | source code

visit_class_declaration(self) | source code

expose_overloaded_mem_fun_using_macro(self, cls, cls_creator) | source code

visit_class(self) | source code

visit_enumeration(self) | source code

visit_namespace(self) | source code

visit_typedef(self) | source code

visit_variable(self) | source code

Method Details

### __init__(self, decls, module_name, boost_python_ns_name=`'``bp``'`, call_policies_resolver_=None, types_db=None, target_configuration=None, enable_indexing_suite=True, doc_extractor=None)
(Constructor)

source code

Constructor.

Parameters:
  - `decls` (list of declaration_t) - Declarations that should be exposed in the final module.
  - `module_name` (str) - The name of the final module.
  - `boost_python_ns_name` (str) - The alias for the boost::python namespace.
  - `call_policies_resolver_` (callable) - Callable that takes one declaration (calldef_t) as input and returns a call policy object which should be used for this declaration.
  - `types_db` (types_database_t) - ...todo...
  - `target_configuration` (target_configuration_t) - A target configuration object can be used to customize the generated source code to a particular compiler or a particular version of Boost.Python.
  - `doc_extractor` (callable) - callable, that takes as argument declaration reference and returns documentation string
  - `already_exposed_dbs` (list of strings) - list of files/directories other modules, this module depends on, generated their code too
Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.__init__

### create(self, decl_headers=None)

source code

Create and return the module for the extension.

Parameters:
  - `decl_headers` - If None the headers for the wrapped decls are automatically found. But you can pass a list of headers here to override that search.
Returns: module_t
  Returns the root of the code creators tree

### visit_member_function(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_member_function

### visit_constructor(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_constructor

### visit_destructor(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_destructor

### visit_member_operator(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_member_operator

### visit_casting_operator(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_casting_operator

### visit_free_function(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_free_function

### visit_free_operator(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_free_operator

### visit_class_declaration(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_class_declaration

### visit_class(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_class

### visit_enumeration(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_enumeration

### visit_namespace(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_namespace

### visit_typedef(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_typedef

### visit_variable(self)

source code

Overrides: pygccxml.declarations.decl_visitor.decl_visitor_t.visit_variable