# pygccxml.declarations.algorithm module

Define few unrelated algorithms that work on declarations.

`apply_visitor`(visitor, decl_inst)

  Applies a visitor on declaration instance.

  Parameters: | visitor (`type_visitor_t` or `decl_visitor_t`) – instance

class `match_declaration_t`(decl_type=None, name=None, fullname=None, parent=None)

  Bases: `object`

  Helper class for different search algorithms.

  This class will help developer to match declaration by:
    - declaration type, for example `class_t` or
        `operator_t`.
    - declaration name
    - declaration full name
    - reference to parent declaration
  `does_match_exist`(inst)

    Returns True if inst does match one of specified criteria.

    Parameters: | inst (`declaration_t`) – declaration instance
    Return type: | bool