CodeQL library for C/C++
codeql/cpp-all 0.12.10 (changelog, source)
Search

Module Declaration

Provides classes for working with C and C++ declarations.

Import path

import semmle.code.cpp.Declaration

Imports

Element

Provides the Element class, which is the base class for all classes representing C or C++ program elements.

Namespace

Provides classes for modeling namespaces, using directives and using declarations.

Specifier

Provides classes for modeling specifiers and attributes.

Classes

AccessHolder

A declaration that can potentially have more C++ access rights than its enclosing element. This comprises Class (they have access to their own private members) along with other UserTypes and Function (they can be the target of friend declarations). For example MyClass and myFunction in the following code:

Declaration

A C/C++ declaration: for example, a variable declaration, a type declaration, or a function declaration.

DeclarationEntry

A C/C++ declaration entry. For example the following code contains five declaration entries: extern int myGlobal; int myVariable; typedef char MyChar; void myFunction(); void myFunction() { // ... } See the comment above Declaration for an explanation of the relationship between Declaration and DeclarationEntry.