clang 20.0.0git
Macros | Variables
TypeTraits.cpp File Reference
#include "clang/Basic/TypeTraits.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstring>
#include "clang/Basic/TokenKinds.def"

Go to the source code of this file.

Macros

#define TYPE_TRAIT_1(Spelling, Name, Key)   #Name,
 
#define TYPE_TRAIT_2(Spelling, Name, Key)   #Name,
 
#define TYPE_TRAIT_N(Spelling, Name, Key)   #Name,
 
#define TYPE_TRAIT_1(Spelling, Name, Key)   #Spelling,
 
#define TYPE_TRAIT_2(Spelling, Name, Key)   #Spelling,
 
#define TYPE_TRAIT_N(Spelling, Name, Key)   #Spelling,
 
#define ARRAY_TYPE_TRAIT(Spelling, Name, Key)   #Name,
 
#define ARRAY_TYPE_TRAIT(Spelling, Name, Key)   #Spelling,
 
#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)   #Name,
 
#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)   #Name,
 
#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)   #Spelling,
 
#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)   #Spelling,
 
#define TYPE_TRAIT_1(Spelling, Name, Key)   1,
 
#define TYPE_TRAIT_2(Spelling, Name, Key)   2,
 
#define TYPE_TRAIT_N(Spelling, Name, Key)   0,
 

Variables

static constexpr const char * TypeTraitNames []
 
static constexpr const char * TypeTraitSpellings []
 
static constexpr const char * ArrayTypeTraitNames []
 
static constexpr const char * ArrayTypeTraitSpellings []
 
static constexpr const char * UnaryExprOrTypeTraitNames []
 
static constexpr const char * UnaryExprOrTypeTraitSpellings []
 
static constexpr const unsigned TypeTraitArities []
 

Macro Definition Documentation

◆ ARRAY_TYPE_TRAIT [1/2]

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

◆ ARRAY_TYPE_TRAIT [2/2]

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

◆ CXX11_UNARY_EXPR_OR_TYPE_TRAIT [1/2]

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

◆ CXX11_UNARY_EXPR_OR_TYPE_TRAIT [2/2]

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

◆ TYPE_TRAIT_1 [1/3]

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

◆ TYPE_TRAIT_1 [2/3]

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

◆ TYPE_TRAIT_1 [3/3]

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

◆ TYPE_TRAIT_2 [1/3]

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

◆ TYPE_TRAIT_2 [2/3]

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

◆ TYPE_TRAIT_2 [3/3]

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

◆ TYPE_TRAIT_N [1/3]

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

◆ TYPE_TRAIT_N [2/3]

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

◆ TYPE_TRAIT_N [3/3]

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

◆ UNARY_EXPR_OR_TYPE_TRAIT [1/2]

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

◆ UNARY_EXPR_OR_TYPE_TRAIT [2/2]

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

Variable Documentation

◆ ArrayTypeTraitNames

constexpr const char* ArrayTypeTraitNames[]
staticconstexpr
Initial value:
= {
#define ARRAY_TYPE_TRAIT(Spelling, Name, Key)
}

Definition at line 37 of file TypeTraits.cpp.

Referenced by clang::getTraitName().

◆ ArrayTypeTraitSpellings

constexpr const char* ArrayTypeTraitSpellings[]
staticconstexpr
Initial value:
= {
#define ARRAY_TYPE_TRAIT(Spelling, Name, Key)
}

Definition at line 42 of file TypeTraits.cpp.

Referenced by clang::getTraitSpelling().

◆ TypeTraitArities

constexpr const unsigned TypeTraitArities[]
staticconstexpr
Initial value:
= {
#define TYPE_TRAIT_1(Spelling, Name, Key)
#define TYPE_TRAIT_2(Spelling, Name, Key)
#define TYPE_TRAIT_N(Spelling, Name, Key)
}

Definition at line 59 of file TypeTraits.cpp.

Referenced by clang::getTypeTraitArity().

◆ TypeTraitNames

constexpr const char* TypeTraitNames[]
staticconstexpr
Initial value:
= {
#define TYPE_TRAIT_1(Spelling, Name, Key)
#define TYPE_TRAIT_2(Spelling, Name, Key)
#define TYPE_TRAIT_N(Spelling, Name, Key)
}

Definition at line 19 of file TypeTraits.cpp.

Referenced by clang::getTraitName().

◆ TypeTraitSpellings

constexpr const char* TypeTraitSpellings[]
staticconstexpr
Initial value:
= {
#define TYPE_TRAIT_1(Spelling, Name, Key)
#define TYPE_TRAIT_2(Spelling, Name, Key)
#define TYPE_TRAIT_N(Spelling, Name, Key)
}

Definition at line 28 of file TypeTraits.cpp.

Referenced by clang::getTraitSpelling().

◆ UnaryExprOrTypeTraitNames

constexpr const char* UnaryExprOrTypeTraitNames[]
staticconstexpr
Initial value:
= {
#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)
#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)
}

Definition at line 47 of file TypeTraits.cpp.

Referenced by clang::getTraitName().

◆ UnaryExprOrTypeTraitSpellings

constexpr const char* UnaryExprOrTypeTraitSpellings[]
staticconstexpr
Initial value:
= {
#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)
#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)
}

Definition at line 53 of file TypeTraits.cpp.

Referenced by clang::getTraitSpelling().