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