Module Type
Provides a hierarchy of classes for modeling C/C++ types.
Import path
import semmle.code.cpp.Type
Imports
Classes
ArithmeticType |
The C/C++ arithmetic types. See 4.1.1. |
ArrayType |
A C/C++ array type. See 4.9.1. |
AutoType |
A type representing the use of the C++11 |
BinaryFloatingPointType |
A floating-point type whose representation is base 2. |
BlockType |
A block type, for example, |
BoolType |
The C/C++ boolean type. See 4.2. This is the C |
BuiltInType |
A C/C++ built-in primitive type (int, float, void, and so on). See 4.1.1. In the following example, |
Char16Type |
The C/C++ |
Char32Type |
The C/C++ |
Char8Type |
The C/C++ |
CharType |
The C/C++ character types. See 4.3. This includes the |
ComplexDomain |
The type domain of a floating-point type that represents a complex number. |
ComplexNumberType |
A floating-point type representing a complex number. |
Decimal128Type |
The GNU C |
Decimal32Type |
The GNU C |
Decimal64Type |
The GNU C |
DecimalFloatingPointType |
A floating-point type whose representation is base 10. |
Decltype |
An instance of the C++11 |
DerivedType |
A C/C++ derived type. |
DoubleType |
The C/C++ |
ErroneousType |
An erroneous type. This type has no corresponding C/C++ syntax. |
Float128Type |
The GNU C |
FloatType |
The C/C++ |
FloatingPointType |
The C/C++ floating point types. See 4.5. This includes |
FunctionPointerIshType |
A C/C++ pointer to a function, a C++ function reference, or a clang/Apple block. |
FunctionPointerType |
A C/C++ pointer to a function. See 7.7. |
FunctionReferenceType |
A C++ reference to a function. |
GNUVectorType |
A GNU/Clang vector type. |
ImaginaryDomain |
The type domain of a floating-point type that represents an imaginary number. |
ImaginaryNumberType |
A floating-point type representing an imaginary number. |
Int128Type |
The GNU C __int128 primitive types. They are not part of standard C/C++. |
IntType |
The C/C++ integer types. See 4.4. This includes |
IntegralOrEnumType |
A C/C++ integral or |
IntegralType |
The C/C++ integral types. See 4.1.1. These are types that are represented as integers of varying sizes. Both |
LValueReferenceType |
A C++11 lvalue reference type (e.g. |
LongDoubleType |
The C/C++ |
LongLongType |
The C/C++ long long types. See 4.4. This includes |
LongType |
The C/C++ long types. See 4.4. This includes |
NullPointerType |
The (primitive) type of the C++11 |
PlainCharType |
The C/C++ |
PointerToMemberType |
A C++ pointer to data member. See 15.5. |
PointerType |
A C/C++ pointer type. See 4.9.1. |
RValueReferenceType |
A C++11 rvalue reference type (e.g., |
RealDomain |
The type domain of a floating-point type that represents a real number. |
RealNumberType |
A floating-point type representing a real number. |
ReferenceType |
A C++ reference type. See 4.9.1. |
RoutineType |
A C/C++ routine type. Conceptually, this is what results from stripping away the pointer from a function pointer type. It can also occur in C++ code, for example the base type of |
ShortType |
The C/C++ short types. See 4.3. This includes |
SignedCharType |
The C/C++ |
SpecifiedType |
A type with specifiers. |
TemplateParameter |
A C++ |
TemplateTemplateParameter |
A C++ template template parameter. |
Type |
A C/C++ type. |
TypeDomain |
The type domain of a floating-point type. One of |
TypeMention |
A source code location referring to a user-defined type. |
UnknownType |
The unknown type. This type has no corresponding C/C++ syntax. |
UnsignedCharType |
The C/C++ |
VoidType |
The C/C++ |
WideCharType |
The C/C++ wide character type. |