qtil
advanced-security/qtil-cpp 0.0.4
Search

Module cpp

Provides classes and predicates for working with C/C++ code.

Where the documentation refers to the standards, it gives references to the freely-available drafts.

For C++11, these references are of the form [N3337 5.3.2/1], and the corresponding draft of the standard can be downloaded from https://github.com/cplusplus/draft/raw/master/papers/n3337.pdf

For C++14, these references are of the form [N4140 5.3.2/1], and the corresponding draft of the standard can be downloaded from https://github.com/cplusplus/draft/raw/master/papers/n4140.pdf

Import path

import cpp

Imports

Access

Provides classes for modeling accesses including variable accesses, enum constant accesses and function accesses.

Alloc
ArithmeticOperation

Provides classes for modeling arithmetic operations such as +, -, * and ++.

Assignment
BitwiseOperation

Provides classes for modeling bitwise operations such as ~, <<, & and |.

Block

Provides a class to model C/C++ block statements, enclosed by { and }.

BuiltInOperations

Provides classes for modeling built-in operations. Built-in operations are typically compiler specific and are used by libraries and generated code.

Call

Provides classes for modeling call expressions including direct calls to functions, constructor and destructor calls, and calls made through function pointers.

Cast

Provides classes for modeling C/C++ casts and conversions, as well as some type-related operators such as sizeof and alignof.

Class

Provides classes representing C++ classes, including structs, unions, and template classes.

Comments

Provides classes representing C and C++ comments.

CommonType
ComparisonOperation

Provides classes for modeling comparisons such as ==, != and <.

Compilation

Provides a class representing individual compiler invocations that occurred during the build.

ControlFlowGraph

Provides a library for reasoning about control flow at the granularity of individual nodes in the control-flow graph.

Declaration

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

DefaultOptions

Provides default predicates that specify information about the behavior of the program being analyzed.

Diagnostics

Provides classes representing warnings generated during compilation.

Element

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

Enum

Provides classes representing C/C++ enums and enum constants.

Expr

Provides classes modeling C/C++ expressions.

Field

Provides classes representing C structure members and C++ non-static member variables.

File

Provides classes representing files and folders.

FriendDecl

Provides a class representing C++ friend declarations.

Function

Provides classes for working with functions, including template functions.

Include

Provides classes representing C/C++ #include, #include_next, and #import preprocessor directives.

Initializer

Provides the Initializer class, representing C/C++ declaration initializers.

Iteration

Provides classes for loop iteration variables.

Lambda

Provides classes for modeling lambda expressions and their captures.

Linkage

Provides the LinkTarget class representing linker invocations during the build process.

Literal

Provides classes for modeling literals in the source code such as 0, 'c' or "string".

Location

Provides classes and predicates for locations in the source code.

LogicalOperation

Provides classes for modeling logical operations such as !, &&, ||, and the ternary ? : expression.

Macro
Member

DEPRECATED: import semmle.code.cpp.Element and/or semmle.code.cpp.Type directly as required.

MemberFunction

Provides classes for working with C++ member functions, constructors, destructors, and user-defined operators.

MetricClass
MetricFile
MetricFunction
MetricNamespace
NULL
NameQualifiers

Provides classes for working with name qualifiers such as the N:: in N::f().

Namespace

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

Parameter

Provides a class that models parameters to functions.

PolymorphicClass
Preprocessor
Printf

A library for dealing with printf-like formatting strings.

Specifier

Provides classes for modeling specifiers and attributes.

Stmt

Provides a hierarchy of classes for modeling C/C++ statements.

Struct

Provides classes for modeling structs.

StructLikeClass
Type

Provides a hierarchy of classes for modeling C/C++ types.

TypedefType

Provides classes for modeling typedefs and type aliases.

Union

Provides classes for modeling unions.

Variable

Provides classes for modeling variables and their declarations.

VoidContext
XML

Provides classes and predicates for working with XML files and their content.