clang 20.0.0git
Namespaces | Macros | Enumerations | Functions
TypeTraits.h File Reference

Defines enumerations for the type traits support. More...

#include "llvm/Support/Compiler.h"
#include "clang/Basic/TokenKinds.def"

Go to the source code of this file.

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 

Macros

#define TYPE_TRAIT_1(Spelling, Name, Key)   UTT_##Name,
 
#define TYPE_TRAIT_1(Spelling, Name, Key)   +1
 
#define TYPE_TRAIT_2(Spelling, Name, Key)   BTT_##Name,
 
#define TYPE_TRAIT_2(Spelling, Name, Key)   +1
 
#define TYPE_TRAIT_N(Spelling, Name, Key)   TT_##Name,
 
#define TYPE_TRAIT_N(Spelling, Name, Key)   +1
 
#define ARRAY_TYPE_TRAIT(Spelling, Name, Key)   ATT_##Name,
 
#define ARRAY_TYPE_TRAIT(Spelling, Name, Key)   +1
 
#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)   UETT_##Name,
 
#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)   UETT_##Name,
 
#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)   +1
 
#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)   +1
 

Enumerations

enum  clang::TypeTrait { clang::UTT_Last , clang::BTT_Last , clang::TT_Last }
 Names for traits that operate specifically on types. More...
 
enum  clang::ArrayTypeTrait { clang::ATT_Last }
 Names for the array type traits. More...
 
enum  clang::UnaryExprOrTypeTrait { clang::UETT_Last }
 Names for the "expression or type" traits. More...
 

Functions

const char * clang::getTraitName (TypeTrait T) LLVM_READONLY
 Return the internal name of type trait T. Never null.
 
const char * clang::getTraitName (ArrayTypeTrait T) LLVM_READONLY
 
const char * clang::getTraitName (UnaryExprOrTypeTrait T) LLVM_READONLY
 
const char * clang::getTraitSpelling (TypeTrait T) LLVM_READONLY
 Return the spelling of the type trait TT. Never null.
 
const char * clang::getTraitSpelling (ArrayTypeTrait T) LLVM_READONLY
 
const char * clang::getTraitSpelling (UnaryExprOrTypeTrait T) LLVM_READONLY
 
unsigned clang::getTypeTraitArity (TypeTrait T) LLVM_READONLY
 Return the arity of the type trait T.
 

Detailed Description

Defines enumerations for the type traits support.

Definition in file TypeTraits.h.

Macro Definition Documentation

◆ ARRAY_TYPE_TRAIT [1/2]

#define ARRAY_TYPE_TRAIT (   Spelling,
  Name,
  Key 
)    ATT_##Name,

Definition at line 43 of file TypeTraits.h.

◆ ARRAY_TYPE_TRAIT [2/2]

#define ARRAY_TYPE_TRAIT (   Spelling,
  Name,
  Key 
)    +1

Definition at line 43 of file TypeTraits.h.

◆ CXX11_UNARY_EXPR_OR_TYPE_TRAIT [1/2]

#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT (   Spelling,
  Name,
  Key 
)    UETT_##Name,

Definition at line 53 of file TypeTraits.h.

◆ CXX11_UNARY_EXPR_OR_TYPE_TRAIT [2/2]

#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT (   Spelling,
  Name,
  Key 
)    +1

Definition at line 53 of file TypeTraits.h.

◆ TYPE_TRAIT_1 [1/2]

#define TYPE_TRAIT_1 (   Spelling,
  Name,
  Key 
)    UTT_##Name,

Definition at line 22 of file TypeTraits.h.

◆ TYPE_TRAIT_1 [2/2]

#define TYPE_TRAIT_1 (   Spelling,
  Name,
  Key 
)    +1

Definition at line 22 of file TypeTraits.h.

◆ TYPE_TRAIT_2 [1/2]

#define TYPE_TRAIT_2 (   Spelling,
  Name,
  Key 
)    BTT_##Name,

Definition at line 28 of file TypeTraits.h.

◆ TYPE_TRAIT_2 [2/2]

#define TYPE_TRAIT_2 (   Spelling,
  Name,
  Key 
)    +1

Definition at line 28 of file TypeTraits.h.

◆ TYPE_TRAIT_N [1/2]

#define TYPE_TRAIT_N (   Spelling,
  Name,
  Key 
)    TT_##Name,

Definition at line 34 of file TypeTraits.h.

◆ TYPE_TRAIT_N [2/2]

#define TYPE_TRAIT_N (   Spelling,
  Name,
  Key 
)    +1

Definition at line 34 of file TypeTraits.h.

◆ UNARY_EXPR_OR_TYPE_TRAIT [1/2]

#define UNARY_EXPR_OR_TYPE_TRAIT (   Spelling,
  Name,
  Key 
)    UETT_##Name,

Definition at line 52 of file TypeTraits.h.

◆ UNARY_EXPR_OR_TYPE_TRAIT [2/2]

#define UNARY_EXPR_OR_TYPE_TRAIT (   Spelling,
  Name,
  Key 
)    +1

Definition at line 52 of file TypeTraits.h.