[][src]Enum clang::TypeKind

#[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,
    Half,
    Float16,
    ShortAccum,
    Accum,
    LongAccum,
    UShortAccum,
    UAccum,
    ULongAccum,
    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,
    Pipe,
    OCLImage1dRO,
    OCLImage1dArrayRO,
    OCLImage1dBufferRO,
    OCLImage2dRO,
    OCLImage2dArrayRO,
    OCLImage2dDepthRO,
    OCLImage2dArrayDepthRO,
    OCLImage2dMSAARO,
    OCLImage2dArrayMSAARO,
    OCLImage2dMSAADepthRO,
    OCLImage2dArrayMSAADepthRO,
    OCLImage3dRO,
    OCLImage1dWO,
    OCLImage1dArrayWO,
    OCLImage1dBufferWO,
    OCLImage2dWO,
    OCLImage2dArrayWO,
    OCLImage2dDepthWO,
    OCLImage2dArrayDepthWO,
    OCLImage2dMSAAWO,
    OCLImage2dArrayMSAAWO,
    OCLImage2dMSAADepthWO,
    OCLImage2dArrayMSAADepthWO,
    OCLImage3dWO,
    OCLImage1dRW,
    OCLImage1dArrayRW,
    OCLImage1dBufferRW,
    OCLImage2dRW,
    OCLImage2dArrayRW,
    OCLImage2dDepthRW,
    OCLImage2dArrayDepthRW,
    OCLImage2dMSAARW,
    OCLImage2dArrayMSAARW,
    OCLImage2dMSAADepthRW,
    OCLImage2dArrayMSAADepthRW,
    OCLImage3dRW,
    OCLSampler,
    OCLEvent,
    OCLQueue,
    OCLReserveID,
    ObjCObject,
    ObjCTypeParam,
    Attributed,
    OCLIntelSubgroupAVCMcePayload,
    OCLIntelSubgroupAVCImePayload,
    OCLIntelSubgroupAVCRefPayload,
    OCLIntelSubgroupAVCSicPayload,
    OCLIntelSubgroupAVCMceResult,
    OCLIntelSubgroupAVCImeResult,
    OCLIntelSubgroupAVCRefResult,
    OCLIntelSubgroupAVCSicResult,
    OCLIntelSubgroupAVCImeResultSingleRefStreamout,
    OCLIntelSubgroupAVCImeResultDualRefStreamout,
    OCLIntelSubgroupAVCImeSingleRefStreamin,
    OCLIntelSubgroupAVCImeDualRefStreamin,
    ExtVector,
}

Indicates the categorization of a type.

Variants

Unexposed

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

Void

void

Bool

bool (C++) or _Bool (C99)

CharS

The char type when it is signed by default.

CharU

The char type when it is unsigned by default.

SChar

signed char

UChar

unsigned char

WChar

wchar_t

Char16

char16_t

Char32

char32_t

Short

short

UShort

unsigned short

Int

int

UInt

unsigned int

Long

long

ULong

unsigned long

LongLong

long long

ULongLong

unsigned long long

Int128

__int128_t

UInt128

__uint128_t

Half

A half-precision (16-bit) floating point type.

Only produced by libclang 5.0 and later.

Float16

A half-precision (16-bit) floating point type.

Only produced by libclang 6.0 and later.

ShortAccum

short _Accum

Only produced by libclang 7.0 and later.

Accum

_Accum

Only produced by libclang 7.0 and later.

LongAccum

long _Accum

Only produced by libclang 7.0 and later.

UShortAccum

unsigned short _Accum

Only produced by libclang 7.0 and later.

UAccum

unsigned _Accum

Only produced by libclang 7.0 and later.

ULongAccum

unsigned long _Accum

Only produced by libclang 7.0 and later.

Float

float

Double

double

LongDouble

long double

Nullptr

nullptr_t (C++11)

Complex

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

Dependent

An unknown dependent type.

Overload

The type of an unresolved overload set.

ObjCId

id (Objective-C)

ObjCClass

Class (Objective-C)

ObjCSel

SEL (Objective-C)

Float128

__float128

Only produced by libclang 3.9 and later.

ObjCInterface

An Objective-C interface type.

ObjCObjectPointer

An Objective-C pointer to object type.

Pointer

A pointer type.

BlockPointer

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

MemberPointer

A pointer to a record member type.

LValueReference

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

RValueReference

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

Enum

An enum type.

Record

A record type such as a struct or a class.

Typedef

A typedef.

FunctionPrototype

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

FunctionNoPrototype

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

ConstantArray

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

DependentSizedArray

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

IncompleteArray

An array type without a specified size.

VariableArray

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

Vector

A GCC generic vector type.

Auto

A C++11 decltype(auto) type.

Only produced by libclang 3.8 and later.

Elaborated

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

Only produced by libclang 3.9 and later.

Pipe

An OpenCL pipe type.

Only produced by libclang 5.0 and later.

OCLImage1dRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage1dArrayRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage1dBufferRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dDepthRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayDepthRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dMSAARO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayMSAARO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dMSAADepthRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayMSAADepthRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage3dRO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage1dWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage1dArrayWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage1dBufferWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dDepthWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayDepthWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dMSAAWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayMSAAWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dMSAADepthWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayMSAADepthWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage3dWO

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage1dRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage1dArrayRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage1dBufferRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dDepthRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayDepthRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dMSAARW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayMSAARW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dMSAADepthRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage2dArrayMSAADepthRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLImage3dRW

An OpenCL image type.

Only produced by libclang 5.0 and later.

OCLSampler

An OpenCL sampler type.

Only produced by libclang 5.0 and later.

OCLEvent

An OpenCL event type.

Only produced by libclang 5.0 and later.

OCLQueue

An OpenCL queue type.

Only produced by libclang 5.0 and later.

OCLReserveID

An OpenCL reserve ID type.

Only produced by libclang 5.0 and later.

ObjCObject

An Objective-C object type.

Only produced by libclang 8.0 and later.

ObjCTypeParam

An Objective-C type param.

Only produced by libclang 8.0 and later.

Attributed

An attributed type.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCMcePayload

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCImePayload

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCRefPayload

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCSicPayload

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCMceResult

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCImeResult

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCRefResult

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCSicResult

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCImeResultSingleRefStreamout

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCImeResultDualRefStreamout

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCImeSingleRefStreamin

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

OCLIntelSubgroupAVCImeDualRefStreamin

An Intel OpenCL extension type for the AVC VME media sampler in Intel graphics processors.

Only produced by libclang 8.0 and later.

ExtVector

Extended vector type, created using attribute((ext_vector_type(n))).

Only produced by libclang 9.0 and later.

Trait Implementations

impl Clone for TypeKind[src]

impl Copy for TypeKind[src]

impl Debug for TypeKind[src]

impl Eq for TypeKind[src]

impl Hash for TypeKind[src]

impl PartialEq<TypeKind> for TypeKind[src]

impl StructuralEq for TypeKind[src]

impl StructuralPartialEq for TypeKind[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.