Package pyplusplus :: Package file_writers :: Module class_multiple_files :: Class class_multiple_files_t

# type class_multiple_files_t

source code

                     object --+
                              |
                writer.writer_t --+
                                  |
    multiple_files.multiple_files_t --+
                                      |
                                     class_multiple_files_t

    This class will split code, generated for huge classes, to few files.
    Next strategy will be used:
    1. New directory with class alias name will be created.
    2. pyplusplus will generate
       wrapper header - header that will contain code generated for class wrappers
       classes h/cpp - will contain registration code for internal classes
       memfun h/cpp - will contain registration code for member functions

       alias + _main h/cpp this class will contain main registration function.

Instance Methods

__init__(self, extmodule, directory_path, huge_classes, num_of_functions_per_file=20, files_sum_repository=None, encoding=`'``ascii``'`) Constructor. | source code

create_base_fname(self, class_creator, pattern) | source code

wrapper_header(self, class_creator) | source code

write_wrapper(self, class_creator) | source code

split_internal_creators(self, class_creator, creators, pattern) | source code

split_internal_enums(self, class_creator) Write all enumerations into a separate .h/.cpp file. | source code

split_internal_unnamed_enums(self, class_creator) | source code

split_internal_calldefs(self, class_creator, calldef_types, pattern) | source code

split_internal_memfuns(self, class_creator) | source code

split_internal_v_memfuns(self, class_creator) | source code

split_internal_pv_memfuns(self, class_creator) | source code

split_internal_protected_memfuns(self, class_creator) | source code

split_internal_classes(self, class_creator) | source code

split_internal_member_variables(self, class_creator) | source code

split_class_impl(self, class_creator) | source code

Inherited from `multiple_files.multiple_files_t`: `associated_decl_creators`, `create_dir`, `create_function_code`, `create_header`, `create_include_code`, `create_namespaces_code`, `create_source`, `create_value_traits_header_name`, `find_out_value_traits_header`, `get_unique_creators`, `split_class`, `split_classes`, `split_creators`, `split_enums`, `split_free_functions`, `split_global_variables`, `split_value_traits`, `split_values_traits`, `write`, `write_file`

Inherited from `writer.writer_t`: `get_user_headers`, `save_exposed_decls_db`, `write_code_repository`

Static Methods
Inherited from `writer.writer_t`: `create_backup`

Class Variables
Inherited from `multiple_files.multiple_files_t`: `HEADER_EXT`, `SOURCE_EXT` Inherited from `writer.writer_t`: `logger`

Properties
Inherited from `multiple_files.multiple_files_t`: `directory_path` Inherited from `writer.writer_t`: `encoding`, `extmodule`, `files_sum_repository`

Method Details

### __init__(self, extmodule, directory_path, huge_classes, num_of_functions_per_file=20, files_sum_repository=None, encoding=`'``ascii``'`)
(Constructor)

source code

Constructor.

Parameters:
  - `extmodule` - The root of a code creator tree
  - `directory_path` - The output directory where the source files are written
  - `write_main` - if it is True, the class will write out a main file that calls all the registration methods.
Overrides: writer.writer_t.__init__

### split_class_impl(self, class_creator)

source code

Overrides: multiple_files.multiple_files_t.split_class_impl