14#ifndef LLVM_CLANG_BASIC_TYPETRAITS_H
15#define LLVM_CLANG_BASIC_TYPETRAITS_H
17#include "llvm/Support/Compiler.h"
22#define TYPE_TRAIT_1(Spelling, Name, Key) UTT_##Name,
23#include "clang/Basic/TokenKinds.def"
25#define TYPE_TRAIT_1(Spelling, Name, Key) +1
26#include "clang/Basic/TokenKinds.def"
28#define TYPE_TRAIT_2(Spelling, Name, Key) BTT_##Name,
29#include "clang/Basic/TokenKinds.def"
31#define TYPE_TRAIT_2(Spelling, Name, Key) +1
32#include "clang/Basic/TokenKinds.def"
34#define TYPE_TRAIT_N(Spelling, Name, Key) TT_##Name,
35#include "clang/Basic/TokenKinds.def"
37#define TYPE_TRAIT_N(Spelling, Name, Key) +1
38#include "clang/Basic/TokenKinds.def"
43#define ARRAY_TYPE_TRAIT(Spelling, Name, Key) ATT_##Name,
44#include "clang/Basic/TokenKinds.def"
46#define ARRAY_TYPE_TRAIT(Spelling, Name, Key) +1
47#include "clang/Basic/TokenKinds.def"
52#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key) UETT_##Name,
53#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key) UETT_##Name,
54#include "clang/Basic/TokenKinds.def"
56#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key) +1
57#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key) +1
58#include "clang/Basic/TokenKinds.def"
The JSON file list parser is used to communicate input to InstallAPI.
ArrayTypeTrait
Names for the array type traits.
unsigned getTypeTraitArity(TypeTrait T) LLVM_READONLY
Return the arity of the type trait T.
const char * getTraitName(ExpressionTrait T) LLVM_READONLY
Return the internal name of type trait T. Never null.
UnaryExprOrTypeTrait
Names for the "expression or type" traits.
const char * getTraitSpelling(ExpressionTrait T) LLVM_READONLY
Return the spelling of the type trait TT. Never null.
const FunctionProtoType * T
TypeTrait
Names for traits that operate specifically on types.