Package pygccxml

# Package pygccxml

source code

Python GCC-XML front end.

This package provides functionality to extract and inspect declarations from C/C++ header files. This is accomplished by invoking the external tool gccxml which parses a header file and dumps the declarations as a XML file. This XML file is then read by pygccxml and the contents are made available as appropriate Python objects.

To parse a set of C/C++ header files you use the parse() function in the parser sub package which returns a tree that contains all declarations found in the header files. The root of the tree represents the main namespace `::` and the children nodes represent the namespace contents such as other namespaces, classes, functions, etc. Each node in the tree is an object of a type derived from the declaration_t base class. An inner node is always either a namespace (namespace_t) or a class (class_t) which are both derived from scopedef_t. Everything else (free functions, member functions, enumerations, variables, etc.) is always a leaf. You will find all those declaration classes in the declarations sub-package.

Version: 1.0.0

Submodules

- 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

Variables
| __revision__ = `1080`