Module MultipleInclusion
Provides definitions related to include guards: techniques for preventing multiple inclusion of header files.
Import path
import semmle.code.cpp.headers.MultipleInclusion
Imports
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 |