clang 22.0.0git
TypeTraits.cpp File Reference
#include "clang/Basic/TypeTraits.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)
#define TYPE_TRAIT_2(Spelling, Name, Key)
#define TYPE_TRAIT_N(Spelling, Name, Key)
#define TYPE_TRAIT_1(Spelling, Name, Key)
#define TYPE_TRAIT_2(Spelling, Name, Key)
#define TYPE_TRAIT_N(Spelling, Name, Key)
#define ARRAY_TYPE_TRAIT(Spelling, Name, Key)
#define ARRAY_TYPE_TRAIT(Spelling, Name, Key)
#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)
#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)
#define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)
#define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key)
#define TYPE_TRAIT_1(Spelling, Name, Key)
#define TYPE_TRAIT_2(Spelling, Name, Key)
#define TYPE_TRAIT_N(Spelling, Name, Key)

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 )
Value:
#Name,

◆ ARRAY_TYPE_TRAIT [2/2]

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

◆ CXX11_UNARY_EXPR_OR_TYPE_TRAIT [1/2]

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

◆ CXX11_UNARY_EXPR_OR_TYPE_TRAIT [2/2]

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

◆ TYPE_TRAIT_1 [1/3]

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

◆ TYPE_TRAIT_1 [2/3]

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

◆ TYPE_TRAIT_1 [3/3]

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

◆ TYPE_TRAIT_2 [1/3]

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

◆ TYPE_TRAIT_2 [2/3]

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

◆ TYPE_TRAIT_2 [3/3]

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

◆ TYPE_TRAIT_N [1/3]

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

◆ TYPE_TRAIT_N [2/3]

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

◆ TYPE_TRAIT_N [3/3]

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

◆ UNARY_EXPR_OR_TYPE_TRAIT [1/2]

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

◆ UNARY_EXPR_OR_TYPE_TRAIT [2/2]

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

Variable Documentation

◆ ArrayTypeTraitNames

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

Definition at line 36 of file TypeTraits.cpp.

Referenced by clang::getTraitName().

◆ ArrayTypeTraitSpellings

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

Definition at line 41 of file TypeTraits.cpp.

Referenced by clang::getTraitSpelling().

◆ TypeTraitArities

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 58 of file TypeTraits.cpp.

Referenced by clang::getTypeTraitArity().

◆ TypeTraitNames

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 18 of file TypeTraits.cpp.

Referenced by clang::getTraitName().

◆ TypeTraitSpellings

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 27 of file TypeTraits.cpp.

Referenced by clang::getTraitSpelling().

◆ UnaryExprOrTypeTraitNames

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 46 of file TypeTraits.cpp.

Referenced by clang::getTraitName().

◆ UnaryExprOrTypeTraitSpellings

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 52 of file TypeTraits.cpp.

Referenced by clang::getTraitSpelling().