Module MultipleInclusion
Provides definitions related to include guards: techniques for preventing multiple inclusion of header files.
Import path
import semmle.code.cpp.headers.MultipleInclusionImports
| cpp | Provides classes and predicates for working with C/C++ code. |
Predicates
| correctIncludeGuard | Holds if |
| endsWithEndif | Holds if |
| hasIncludeGuard | Holds if |
| ifndefDirective | Holds if |
| startsWithIfndef | Holds if |
Classes
| BadIncludeGuard | A header file that uses a non-portable mechanism to prevent multiple inclusion. |
| CorrectIncludeGuard | A header file with the correct include guard: |
| EmptyFile | A file with no code in it. |
| IncludeGuardedHeader | A header file with an include guard. |
| PragmaOnceIncludeGuard | A header file with the |