GDB (xrefs)

Macros
valid-expr.h File Reference
`#include "common/preprocessor.h"`
`#include "common/traits.h"`

Go to the source code of this file.

## Macros
#define | CHECK_VALID_EXPR_INT(TYPENAMES, TYPES, VALID, EXPR_TYPE, EXPR)
#define | CHECK_VALID_EXPR_1(T1, VALID, EXPR_TYPE, EXPR)
#define | CHECK_VALID_EXPR_2(T1, T2, VALID, EXPR_TYPE, EXPR)
#define | CHECK_VALID_EXPR_3(T1, T2, T3, VALID, EXPR_TYPE, EXPR)
#define | CHECK_VALID_EXPR_4(T1, T2, T3, T4, VALID, EXPR_TYPE, EXPR)

## Macro Definition Documentation

## ◆ CHECK_VALID_EXPR_1

#define CHECK_VALID_EXPR_1 | ( |  | T1,
|  |  | VALID,
|  |  | EXPR_TYPE,
|  |  | EXPR
| ) |  |

Value:
CHECK_VALID_EXPR_INT (ESC (typename T1), \
ESC (T1), \
VALID, EXPR_TYPE, EXPR)
ESC
#define ESC(...)
Definition: preprocessor.h:33
CHECK_VALID_EXPR_INT
#define CHECK_VALID_EXPR_INT(TYPENAMES, TYPES, VALID, EXPR_TYPE, EXPR)
Definition: valid-expr.h:58

Definition at line 87 of file valid-expr.h.

## ◆ CHECK_VALID_EXPR_2

#define CHECK_VALID_EXPR_2 | ( |  | T1,
|  |  | T2,
|  |  | VALID,
|  |  | EXPR_TYPE,
|  |  | EXPR
| ) |  |

Value:
CHECK_VALID_EXPR_INT (ESC (typename T1, typename T2), \
ESC (T1, T2), \
VALID, EXPR_TYPE, EXPR)
ESC
#define ESC(...)
Definition: preprocessor.h:33
CHECK_VALID_EXPR_INT
#define CHECK_VALID_EXPR_INT(TYPENAMES, TYPES, VALID, EXPR_TYPE, EXPR)
Definition: valid-expr.h:58

Definition at line 92 of file valid-expr.h.

## ◆ CHECK_VALID_EXPR_3

#define CHECK_VALID_EXPR_3 | ( |  | T1,
|  |  | T2,
|  |  | T3,
|  |  | VALID,
|  |  | EXPR_TYPE,
|  |  | EXPR
| ) |  |

Value:
CHECK_VALID_EXPR_INT (ESC (typename T1, typename T2, typename T3), \
ESC (T1, T2, T3), \
VALID, EXPR_TYPE, EXPR)
ESC
#define ESC(...)
Definition: preprocessor.h:33
CHECK_VALID_EXPR_INT
#define CHECK_VALID_EXPR_INT(TYPENAMES, TYPES, VALID, EXPR_TYPE, EXPR)
Definition: valid-expr.h:58

Definition at line 97 of file valid-expr.h.

## ◆ CHECK_VALID_EXPR_4

#define CHECK_VALID_EXPR_4 | ( |  | T1,
|  |  | T2,
|  |  | T3,
|  |  | T4,
|  |  | VALID,
|  |  | EXPR_TYPE,
|  |  | EXPR
| ) |  |

Value:
CHECK_VALID_EXPR_INT (ESC (typename T1, typename T2, \
typename T3, typename T4), \
ESC (T1, T2, T3, T4), \
VALID, EXPR_TYPE, EXPR)
ESC
#define ESC(...)
Definition: preprocessor.h:33
CHECK_VALID_EXPR_INT
#define CHECK_VALID_EXPR_INT(TYPENAMES, TYPES, VALID, EXPR_TYPE, EXPR)
Definition: valid-expr.h:58

Definition at line 102 of file valid-expr.h.

## ◆ CHECK_VALID_EXPR_INT

#define CHECK_VALID_EXPR_INT | ( |  | TYPENAMES,
|  |  | TYPES,
|  |  | VALID,
|  |  | EXPR_TYPE,
|  |  | EXPR
| ) |  |

Value:
namespace CONCAT (check_valid_expr, __LINE__) { \
\
template<typename, typename, typename = void> \
struct is_valid_expression \
: std::false_type {}; \
\
template <TYPENAMES> \
struct is_valid_expression<TYPES, gdb::void_t<decltype (EXPR)>> \
: std::true_type {}; \
\
static_assert (is_valid_expression<TYPES>::value == VALID, \
""); \
\
template<TYPENAMES, typename = void> \
struct is_same_type \
: std::is_same<EXPR_TYPE, void> {}; \
\
template <TYPENAMES> \
struct is_same_type<TYPES, gdb::void_t<decltype (EXPR)>> \
: std::is_same<EXPR_TYPE, decltype (EXPR)> {}; \
\
static_assert (is_same_type<TYPES>::value, ""); \
} /* namespace */
CONCAT
#define CONCAT(a, b)
Definition: preprocessor.h:25

Definition at line 58 of file valid-expr.h.