Module Type

Import path

semmle.code.cpp.Type

Imports

Predicates

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

BlockType

A block type, for example int(^)(char, float).

BoolType

The C/C++ boolean type. See 4.2.

BuiltInType

A C/C++ built-in primitive type (int, float, void, and so on). See 4.1.1.

Char16Type

The C/C++ char16_t type.

Char32Type

The C/C++ char32_t type.

CharType

The C/C++ character types. See 4.3.

Decimal128Type

The GNU C _Decimal128 type.

Decimal32Type

The GNU C _Decimal32 type.

Decimal64Type

The GNU C _Decimal64 type.

Decltype

An instance of the C++11 decltype operator.

DerivedType

A C/C++ derived type.

DoubleType

The C/C++ double type.

ErroneousType

An erroneous type.

Float128Type

The GNU C __float128 type.

FloatType

The C/C++ float type.

FloatingPointType

The C/C++ floating point types. See 4.5.

FunctionPointerIshType

A C/C++ pointer to function, or a block.

FunctionPointerType

A C/C++ pointer to function. See 7.7.

FunctionReferenceType

A C/C++ reference to function.

GNUVectorType

A GNU/Clang vector type.

Int128Type

The GNU C __int128 types.

IntType

The C/C++ integer types. See 4.4.

IntegralOrEnumType

A C/C++ integral or enum type. The definition of “integral type” in the C++ Standard excludes enum types, but because an enum type holds a value of its underlying integral type, it is often useful to have a common category that includes both integral and enum types.

IntegralType

The C/C++ integral types. See 4.1.1.

LValueReferenceType

A C++11 lvalue reference type (e.g. int&).

LongDoubleType

The C/C++ long double type.

LongLongType

The C/C++ long long types. See 4.4.

LongType

The C/C++ long types. See 4.4.

NullPointerType

The type of the C++11 nullptr constant.

PlainCharType

The C/C++ char type (which is different to signed char and unsigned char).

PointerToMemberType

A C++ pointer to member. See 15.5.

PointerType

A C/C++ pointer type. See 4.9.1.

RValueReferenceType

A C++11 rvalue reference type (e.g. int&&).

ReferenceType

A C++ reference type. See 4.9.1.

RoutineType

A C/C++ routine type. This is what results from stripping away the pointer from a function pointer type.

ShortType

The C/C++ short types. See 4.3.

SignedCharType

The C/C++ signed char type (which is different to plain char, even when chars are signed by default).

SpecifiedType

A type with specifiers.

TemplateParameter

A C++ typename template parameter.

TemplateTemplateParameter

A C++ template template parameter, e.g. template <template <typename,typename> class T>.

Type

A C/C++ type.

TypeMention

A source code location referring to a type

UnknownType

The unknown type.

UnsignedCharType

The C/C++ unsigned char type (which is different to plain char, even when chars are unsigned by default).

VoidType

The C/C++ void type. See 4.7.

WideCharType

The C/C++ wide character type.