Go to the source code of this file.
|
| #define | DC_REQUIRE_METHOD_EXPR(ret, obj, name, args) |
| #define | DC_REQUIRE_CONSTANT_TYPE_EXPR(obj, name, Type) |
| #define | DC_REQUIRE_METHOD(ret, obj, name, args) |
| #define | DC_REQUIRE_TYPE(obj, name) |
| #define | DC_REQUIRE_CONSTANT(obj, name, type) |
◆ DC_REQUIRE_CONSTANT
| #define DC_REQUIRE_CONSTANT |
( |
| obj, |
|
|
| name, |
|
|
| type ) |
Value:
"Method " #obj
"." #
name " must exist and be of type " #type)
#define DC_REQUIRE_CONSTANT_TYPE_EXPR(obj, name, Type)
Definition at line 27 of file require.h.
27#define DC_REQUIRE_CONSTANT(obj, name, type) \
28 DC_STATIC_ASSERT(DC_REQUIRE_CONSTANT_TYPE_EXPR(obj, name, type), \
29 "Method " #obj "." #name " must exist and be of type " #type)
◆ DC_REQUIRE_CONSTANT_TYPE_EXPR
| #define DC_REQUIRE_CONSTANT_TYPE_EXPR |
( |
| obj, |
|
|
| name, |
|
|
| Type ) |
Value: std::is_same_v<std::remove_cv_t<std::remove_reference_t<
decltype(
NS(obj,
name))>>, Type>
Definition at line 14 of file require.h.
14 #define DC_REQUIRE_CONSTANT_TYPE_EXPR(obj, name, Type) \
15 std::is_same_v<std::remove_cv_t<std::remove_reference_t<decltype(NS(obj, name))>>, Type>
◆ DC_REQUIRE_METHOD
| #define DC_REQUIRE_METHOD |
( |
| ret, |
|
|
| obj, |
|
|
| name, |
|
|
| args ) |
Value:
"Method " #obj
"." #
name " must exist with type " #ret
" (*)" #args)
#define DC_REQUIRE_METHOD_EXPR(ret, obj, name, args)
Definition at line 18 of file require.h.
18#define DC_REQUIRE_METHOD(ret, obj, name, args) \
19 DC_STATIC_ASSERT(DC_REQUIRE_METHOD_EXPR(ret, obj, name, args), \
20 "Method " #obj "." #name " must exist with type " #ret " (*)" #args)
◆ DC_REQUIRE_METHOD_EXPR
| #define DC_REQUIRE_METHOD_EXPR |
( |
| ret, |
|
|
| obj, |
|
|
| name, |
|
|
| args ) |
Value: std::is_same_v<
decltype(+
NS(obj,
name)), ret(*) args>
Definition at line 12 of file require.h.
12 #define DC_REQUIRE_METHOD_EXPR(ret, obj, name, args) \
13 std::is_same_v<decltype(+NS(obj, name)), ret(*) args>
◆ DC_REQUIRE_TYPE
| #define DC_REQUIRE_TYPE |
( |
| obj, |
|
|
| name ) |