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. |