def __init__(<EOL>self,<EOL>name=None,<EOL>decl_type=None,<EOL>header_dir=None,<EOL>header_file=None):
<EOL>matcher_base_t.__init__(self)<EOL>self.decl_type = decl_type<EOL>self.__name = None<EOL>self.__opt_is_tmpl_inst = None<EOL>self.__opt_tmpl_name = None<EOL>self.__opt_is_full_name = None<EOL>self.__decl_name_only = None<EOL>self.name = name<EOL>self.header_dir = header_dir<EOL>self.header_file = header_file<EOL>if self.header_dir:<EOL><INDENT>self.header_dir = utils.normalize_path(self.header_dir)<EOL>if not os.path.isabs(self.header_dir):<EOL><INDENT>raise RuntimeError(<EOL>"<STR_LIT>")<EOL><DEDENT><DEDENT>if self.header_file:<EOL><INDENT>self.header_file = utils.normalize_path(self.header_file)<EOL>if not os.path.isabs(self.header_file):<EOL><INDENT>raise RuntimeError("<STR_LIT>")<EOL><DEDENT><DEDENT>
:param decl_type: declaration type to match by. For example
:class:`enumeration_t`.
:type decl_type: any class that derives from :class:`declaration_t`
class

:param name: declaration name, could be full name.
:type name: str

:param header_dir: absolute directory path
:type header_dir: str

:param header_file: absolute file path
:type header_file: str