Enum clang::TypeKind [] [src]

#[repr(C)]
pub enum TypeKind { Unexposed, Void, Bool, CharS, CharU, SChar, UChar, WChar, Char16, Char32, Short, UShort, Int, UInt, Long, ULong, LongLong, ULongLong, Int128, UInt128, Float, Double, LongDouble, Nullptr, Complex, Dependent, Overload, ObjCId, ObjCClass, ObjCSel, Float128, ObjCInterface, ObjCObjectPointer, Pointer, BlockPointer, MemberPointer, LValueReference, RValueReference, Enum, Record, Typedef, FunctionPrototype, FunctionNoPrototype, ConstantArray, DependentSizedArray, IncompleteArray, VariableArray, Vector, Auto, Elaborated, }

Indicates the categorization of a type.

Variants

A type whose specific kind is not exposed via this interface.

void

bool (C++) or _Bool (C99)

The char type when it is signed by default.

The char type when it is unsigned by default.

signed char

unsigned char

wchar_t

char16_t

char32_t

short

unsigned short

int

unsigned int

long

unsigned long

long long

unsigned long long

__int128_t

__uint128_t

float

double

long double

nullptr_t (C++11)

A C99 complex type (e.g., _Complex float).

An unknown dependent type.

The type of an unresolved overload set.

id (Objective-C)

Class (Objective-C)

SEL (Objective-C)

__float128

Only produced by libclang 3.9 and later.

An Objective-C interface type.

An Objective-C pointer to object type.

A pointer type.

A block pointer type (e.g., void (^)(int)).

A pointer to a record member type.

An l-value reference (e.g. int&).

An r-value reference (e.g. int&&).

An enum type.

A record type such as a struct or a class.

A typedef.

A function prototype with parameter type information (e.g., void foo(int)).

A function prototype without parameter type information (e.g., void foo()).

An array type with a specified size that is an integer constant expression.

An array type with a specified size that is a dependent value.

An array type without a specified size.

An array type with a specified size that is not an integer constant expression.

A GCC generic vector type.

A C++11 decltype(auto) type.

Only produced by libclang 3.8 and later.

A type that was referred to using an elaborated type keyword (e.g., struct S).

Only produced by libclang 3.9 and later.

Trait Implementations

impl Copy for TypeKind
[src]

impl Clone for TypeKind
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for TypeKind
[src]

Formats the value using the given formatter.

impl PartialEq for TypeKind
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for TypeKind
[src]

impl Hash for TypeKind
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more