pygccxml

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.msvc pygccxml.msvc.bsc pygccxml.msvc.bsc.c_wrapper pygccxml.msvc.bsc_impl_details pygccxml.msvc.common_utils pygccxml.msvc.config pygccxml.msvc.pdb pygccxml.msvc.pdb.enums pygccxml.msvc.pdb.impl_details pygccxml.msvc.pdb.loader 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`