[ Module Hierarchy | Class Hierarchy ]

# Module Hierarchy

- pygccxml: Python GCC-XML front end.
  - pygccxml.declarations: contains classes that describe different C++ declarations
    - pygccxml.declarations.algorithm: defines few unrelated algorithms, that works on declarations
    - pygccxml.declarations.algorithms_cache: defines class that will keep results of different calculations.
    - pygccxml.declarations.call_invocation: free function call parser
    - pygccxml.declarations.calldef: defines classes, that describes "callable" declarations
    - pygccxml.declarations.class_declaration: defines classes, that describes C++ classes
    - pygccxml.declarations.compilers: contains enumeration of all compilers supported by the project
    - pygccxml.declarations.container_traits: defines few algorithms, that deals with different properties of std containers
    - pygccxml.declarations.cpptypes: defines classes, that describe C++ types
    - pygccxml.declarations.decl_factory: defines default declarations factory class
    - pygccxml.declarations.decl_printer: defines class, decl_printer_t that prints declarations tree in a user friendly format
    - pygccxml.declarations.decl_visitor: defines declarations visitor class interface
    - pygccxml.declarations.declaration: defines 2 important classes
    - pygccxml.declarations.dependencies: this module contains class that keeps dependency information of some declaration
    - pygccxml.declarations.enumeration: defines class, that describes C++ enum
    - pygccxml.declarations.filtering
    - pygccxml.declarations.filtering': deprecated!
    - pygccxml.declarations.function_traits: defines few algorithms, that deals with different properties of functions
    - pygccxml.declarations.matcher
    - pygccxml.declarations.matcher': implements few "find" algorithms on declarations tree
    - pygccxml.declarations.matchers: defines all "built-in" classes that implement declarations compare functionality according to some criteria
    - pygccxml.declarations.mdecl_wrapper: defines class mdecl_wrapper_t that allows to work on set of declarations, as it was one declaration.
    - pygccxml.declarations.namespace: defines class, that describes C++ namespace declaration
    - pygccxml.declarations.pattern_parser: implementation details
    - pygccxml.declarations.scopedef: defines base class for namespace_t and class_t classes
    - pygccxml.declarations.templates: template instantiation parser
    - pygccxml.declarations.type_traits: defines few algorithms, that deals with different properties of C++ types
    - pygccxml.declarations.type_visitor: defines types visitor class interface
    - pygccxml.declarations.typedef: defines class that describes C++ typedef declaration
    - pygccxml.declarations.variable: defines class that describes C++ global and member variable declaration
  - pygccxml.parser: Parser sub-package.
    - pygccxml.parser.config: This module contains the implementation of the config_t class.
    - pygccxml.parser.declarations_cache
    - pygccxml.parser.directory_cache: Directory cache implementation.
    - pygccxml.parser.etree_scanner
    - pygccxml.parser.linker
    - pygccxml.parser.patcher
    - pygccxml.parser.project_reader
    - pygccxml.parser.scanner
    - pygccxml.parser.source_reader
  - pygccxml.utils: defines logger classes and few convinience methods, not related to the declarations tree
    - pygccxml.utils.fs_utils
- pyplusplus: Py++ - Boost.Python code generator ========================================
  - pyplusplus._logging_: defines logger classes
    - pyplusplus._logging_.multi_line_formatter: defines a class that helps to format user messages
  - pyplusplus.code_creators: Code creators.
    - pyplusplus.code_creators.algorithm: This module is a collection of unrelated algorithms, that works on code creators tree.
    - pyplusplus.code_creators.array_1_registrator
    - pyplusplus.code_creators.calldef
    - pyplusplus.code_creators.calldef_transformed
    - pyplusplus.code_creators.calldef_utils
    - pyplusplus.code_creators.class_declaration
    - pyplusplus.code_creators.code_creator
    - pyplusplus.code_creators.compound
    - pyplusplus.code_creators.ctypes_integration_creators
    - pyplusplus.code_creators.custom
    - pyplusplus.code_creators.declaration_based
    - pyplusplus.code_creators.enum
    - pyplusplus.code_creators.exception_translator
    - pyplusplus.code_creators.global_variable
    - pyplusplus.code_creators.include
    - pyplusplus.code_creators.include_directories
    - pyplusplus.code_creators.indexing_suites
    - pyplusplus.code_creators.instruction
    - pyplusplus.code_creators.license
    - pyplusplus.code_creators.member_variable
    - pyplusplus.code_creators.module
    - pyplusplus.code_creators.module_body
    - pyplusplus.code_creators.namespace
    - pyplusplus.code_creators.opaque_type_registrator
    - pyplusplus.code_creators.properties
    - pyplusplus.code_creators.registration_based
    - pyplusplus.code_creators.scoped
    - pyplusplus.code_creators.smart_pointers
    - pyplusplus.code_creators.target_configuration
    - pyplusplus.code_creators.unnamed_enum
  - pyplusplus.code_repository: Code repository package is used as a repository of C++ classes/functions.
    - pyplusplus.code_repository.array_1: This file contains C++ code needed to export one dimensional static arrays.
    - pyplusplus.code_repository.call_policies: This file contains C++ code - custom call policies
    - pyplusplus.code_repository.convenience: This file contains C++ code needed to export one dimensional static arrays.
    - pyplusplus.code_repository.ctypes_integration: This file contains C++ code needed to export one dimensional static arrays.
    - pyplusplus.code_repository.gil_guard: This file contains C++ code to acquire/release the GIL.
    - pyplusplus.code_repository.named_tuple
    - pyplusplus.code_repository.return_range: This file contains C++ code - "return_range" call policies
  - pyplusplus.decl_wrappers: Code generator configuration classes
    - pyplusplus.decl_wrappers.algorithm: Contains few unrelated algorithms, which works on code creators tree
    - pyplusplus.decl_wrappers.call_policies: Contains definition of call policies classes
    - pyplusplus.decl_wrappers.calldef_wrapper: contains classes that allow to configure code generation for free\member functions, operators and etc.
    - pyplusplus.decl_wrappers.class_wrapper: defines class that configure class definition and class declaration exposing
    - pyplusplus.decl_wrappers.decl_wrapper: defines base class for all code generator configuration classes
    - pyplusplus.decl_wrappers.decl_wrapper_printer: defines class that will print in a user friendly format declarations tree and declarations Py++ configuration instructions
    - pyplusplus.decl_wrappers.doc_extractor: defines documentation extractor class interface
    - pyplusplus.decl_wrappers.enumeration_wrapper: defines class that configure enumeration declaration exposing
    - pyplusplus.decl_wrappers.indexing_suite1: defines interface for exposing STD containers, using current version of indexing suite
    - pyplusplus.decl_wrappers.indexing_suite2: defines interface for exposing STD containers, using next version of indexing suite
    - pyplusplus.decl_wrappers.namespace_wrapper: defines class that configure namespace exposing.
    - pyplusplus.decl_wrappers.properties: defines property_t helper class
    - pyplusplus.decl_wrappers.python_traits: defines few "type traits" functions related to C++ Python bindings
    - pyplusplus.decl_wrappers.scopedef_wrapper: defines base class for decl_wrappers.class_t and decl_wrappers.namespace_t classes
    - pyplusplus.decl_wrappers.typedef_wrapper: defines class that configure typedef exposing
    - pyplusplus.decl_wrappers.user_text: defines few classes, used by `decl_wrapper.class_t` class to keep user code
    - pyplusplus.decl_wrappers.variable_wrapper: defines class that configure global and member variable exposing
  - pyplusplus.file_writers: This package contains few classes, that writes code_creators.module_t to files.
    - pyplusplus.file_writers.balanced_files: defines a class that writes code_creators.module_t to multiple files
    - pyplusplus.file_writers.class_multiple_files: defines a class that writes code_creators.module_t to multiple files, the class also splits huge C++ classes to few source files
    - pyplusplus.file_writers.md5sum_repository: defines interface for repository of generated files hash
    - pyplusplus.file_writers.multiple_files: defines a class that writes code_creators.module_t to multiple files
    - pyplusplus.file_writers.single_file: defines a class that writes code_creators.module_t to single file
    - pyplusplus.file_writers.writer: defines interface for all classes that writes code_creators.module_t to file(s)
  - pyplusplus.function_transformers: This sub-package provides text substitution services for creating C++ functions.
    - pyplusplus.function_transformers.controllers: defines controller classes which help to define the function transformation
    - pyplusplus.function_transformers.function_transformation: This module contains the class function_transformation_t.
    - pyplusplus.function_transformers.templates: defines few templates, which will be used to create a function-wrapper definition.
    - pyplusplus.function_transformers.transformer: This module contains the class transformer_t.
    - pyplusplus.function_transformers.transformers: This module contains the standard argument policy objects.
  - pyplusplus.gui: This package provide simple GUI interface.
    - pyplusplus.gui.freeze: this module contains "freeze" functionality.
    - pyplusplus.gui.ui: this module implements GUI.
    - pyplusplus.gui.ui_runner: Py++ user interface runner
    - pyplusplus.gui.wizard: generates Py++ code from the user data
  - pyplusplus.messages: This package defines all user messages( warnings + errors ), which will be reported to user.
    - pyplusplus.messages.warnings_: This package defines all user messages (warnings + errors), which will be reported to user.
  - pyplusplus.module_builder: This package provides users with simple and convinient interface to Py++ functionality.
    - pyplusplus.module_builder.builder
    - pyplusplus.module_builder.call_policies
  - pyplusplus.module_creator
    - pyplusplus.module_creator.call_policies_resolver
    - pyplusplus.module_creator.creator
    - pyplusplus.module_creator.creators_wizard: this module defines few function that will guess what creator(s) should be created for exposing a declaration
    - pyplusplus.module_creator.dependencies_manager: defines class, which informs user about used, but unexposed declarations
    - pyplusplus.module_creator.fake_constructors_manager: defines class, which manages "fake constructors"
    - pyplusplus.module_creator.opaque_types_manager
    - pyplusplus.module_creator.sort_algorithms
    - pyplusplus.module_creator.types_database
  - pyplusplus.utils: This module is a collection of unrelated algorithms, that works on code creators tree.