Package pygccxml :: Package declarations :: Module algorithm |

# Module algorithm

source code

defines few unrelated algorithms, that works on declarations

Classes
match_declaration_t helper class for different search algorithms.
visit_function_has_not_been_found_t exception that is raised, from apply_visitor, when a visitor could not be applied.

Functions
declaration_path(decl, with_defaults=True) returns a list of parent declarations names | source code
partial_declaration_path(decl) returns a list of parent declarations names without template arguments that have default value | source code
get_named_parent(decl) returns a reference to a named parent declaration | source code
full_name_from_declaration_path(dpath) | source code
full_name(decl, with_defaults=True) returns full name of the declaration | source code
make_flatten(decl_or_decls) converts tree representation of declarations to flatten one. | source code
get_global_namespace(decls) | source code
find_all_declarations(declarations, type=None, name=None, parent=None, recursive=True, fullname=None) returns a list of all declarations that match criteria, defined by developer | source code
find_declaration(declarations, type=None, name=None, parent=None, recursive=True, fullname=None) returns single declaration that match criteria, defined by developer. | source code
find_first_declaration(declarations, type=None, name=None, parent=None, recursive=True, fullname=None) returns first declaration that match criteria, defined by developer | source code
declaration_files(decl_or_decls) returns set of files | source code
apply_visitor(visitor, decl_inst) applies a visitor on declaration instance | source code

Function Details

### declaration_path(decl, with_defaults=True) | source code
returns a list of parent declarations names Parameters: `decl` (declaration_t) - declaration for which declaration path should be calculated Returns: [names], where first item contains top parent name and last item contains decl name

### partial_declaration_path(decl) | source code
returns a list of parent declarations names without template arguments that have default value Parameters: `decl` (declaration_t) - declaration for which declaration path should be calculated Returns: [names], where first item contains top parent name and last item contains decl name

### get_named_parent(decl) | source code
returns a reference to a named parent declaration Parameters: `decl` (declaration_t) - the child declaration Returns: reference to declaration_t or None if not found

### full_name(decl, with_defaults=True) | source code
returns full name of the declaration Parameters: `decl` (declaration_t) - declaration for which full name should be calculated. If decl belongs to unnamed namespace, then full_name is not valid C++ full name. Returns: full name of declarations.

### make_flatten(decl_or_decls) | source code
converts tree representation of declarations to flatten one. Parameters: `decl_or_decls` (declaration_t or [ declaration_t ]) - reference to list of declaration's or single declaration Returns: [ all internal declarations ]

### find_all_declarations(declarations, type=None, name=None, parent=None, recursive=True, fullname=None) | source code
returns a list of all declarations that match criteria, defined by developer For more information about arguments see match_declaration_t class. Returns: [ matched declarations ]

### find_declaration(declarations, type=None, name=None, parent=None, recursive=True, fullname=None) | source code
returns single declaration that match criteria, defined by developer. If more the one declaration was found None will be returned. For more information about arguments see match_declaration_t class. Returns: matched declaration declaration_t or None

### find_first_declaration(declarations, type=None, name=None, parent=None, recursive=True, fullname=None) | source code
returns first declaration that match criteria, defined by developer For more information about arguments see match_declaration_t class. Returns: matched declaration declaration_t or None

### declaration_files(decl_or_decls) | source code
returns set of files Every declaration is declared in some file. This function returns set, that contains all file names of declarations. Parameters: `decl_or_decls` (declaration_t or [ declaration_t ]) - reference to list of declaration's or single declaration Returns: set( declaration file names )

### apply_visitor(visitor, decl_inst) | source code
applies a visitor on declaration instance Parameters: `visitor` (type_visitor_t or decl_visitor_t) - instance