pygccxml package¶
Python CastXML or GCC-XML front end.
This package provides functionality to extract and inspect declarations from C/C++ header files. This is accomplished by invoking an external tool like CastXML or GCC-XML, 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 :mod: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
class. An inner node
is always either a namespace declarations.namespace_t
or a class
declarations.class_t
, which are both derived from
declarations.scopedef_t
class. Everything else (free functions,
member functions, enumerations, variables, etc.) are always a leaf. You will
find all those declaration classes in the :mod:declarations sub-package.
Subpackages¶
- pygccxml.declarations package
- Submodules
- pygccxml.declarations.algorithm module
- pygccxml.declarations.algorithms_cache module
- pygccxml.declarations.byte_info module
- pygccxml.declarations.call_invocation module
- pygccxml.declarations.calldef module
- pygccxml.declarations.calldef_members module
- pygccxml.declarations.calldef_types module
- pygccxml.declarations.class_declaration module
- pygccxml.declarations.comment module
- pygccxml.declarations.container_traits module
- pygccxml.declarations.cpptypes module
- pygccxml.declarations.decl_factory module
- pygccxml.declarations.decl_printer module
- pygccxml.declarations.decl_visitor module
- pygccxml.declarations.declaration module
- pygccxml.declarations.declaration_utils module
- pygccxml.declarations.declarations_matchers module
- pygccxml.declarations.dependencies module
- pygccxml.declarations.elaborated_info module
- pygccxml.declarations.enumeration module
- pygccxml.declarations.free_calldef module
- pygccxml.declarations.function_traits module
- pygccxml.declarations.has_operator_matcher module
- pygccxml.declarations.location module
- pygccxml.declarations.matchers module
- pygccxml.declarations.mdecl_wrapper module
- pygccxml.declarations.namespace module
- pygccxml.declarations.pattern_parser module
- pygccxml.declarations.pointer_traits module
- pygccxml.declarations.runtime_errors module
- pygccxml.declarations.scopedef module
- pygccxml.declarations.templates module
- pygccxml.declarations.traits_impl_details module
- pygccxml.declarations.type_traits module
- pygccxml.declarations.type_traits_classes module
- pygccxml.declarations.type_visitor module
- pygccxml.declarations.typedef module
- pygccxml.declarations.variable module
- pygccxml.declarations.xml_generators module
- Submodules
- pygccxml.parser package
- Submodules
- pygccxml.parser.config module
- pygccxml.parser.declarations_cache module
- pygccxml.parser.declarations_joiner module
- pygccxml.parser.directory_cache module
- pygccxml.parser.etree_scanner module
- pygccxml.parser.linker module
- pygccxml.parser.patcher module
- pygccxml.parser.project_reader module
- pygccxml.parser.scanner module
- pygccxml.parser.source_reader module
- Submodules
- pygccxml.utils package