When another part of Semantic (or another Emacs package using
Semantic) queries the SemanticDB library for a source code tag, the
search need not be limited to tags defined within the current file.
It can include tags defined elsewhere, such as header files
referenced by the current file (e.g., via the C/C++ #include
directive). While performing the search, the SemanticDB library may
even automatically visit other files and parse them, if necessary.
The variable semanticdb-find-default-throttle
determines how
aggressively SemanticDB searches for source code tags. See SemanticDB Search Throttle.
The details of SemanticDB searches can vary from language to
language. In C/C++ code, for example, SemanticDB distinguishes
between project header files and system header files,
based on whether the #include
directive uses the ""
or
<>
filename delimiter. SemanticDB looks for system header in
the system include path (see Include Paths).