Module Type
Provides a hierarchy of classes for modeling C/C++ types.
Import path
import semmle.code.cpp.TypeImports
| Element | Provides the |
| Function | Provides classes for working with functions, including template functions. |
| TemplateParameter | Provides a hierarchy of classes for modeling C/C++ template parameters. |
Classes
| ArithmeticType | The C/C++ arithmetic types. See 4.1.1. |
| ArrayType | A C/C++ array type. See 4.9.1. |
| 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 |
| IntrinsicTransformedType | A type obtained by applying a type transforming intrinsic. For example: |
| 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 |
| ScalableVectorCount | The Arm scalable vector count type. |
| ScalableVectorType | An Arm Scalable vector type. |
| ShortType | The C/C++ short types. See 4.3. This includes |
| SignedCharType | The C/C++ |
| SpecifiedType | A type with specifiers. |
| 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. |
| TypeofExprType | An instance of the C23 |
| TypeofType | An instance of the C23 |
| TypeofTypeType | A type obtained by C23 |
| 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. |