DAW JSON Link
Macros
daw_json_req_helper.h File Reference
#include <daw/daw_cpp_feature_check.h>

Go to the source code of this file.

Macros

#define DAW_JSON_MAKE_REQ_TRAIT(Name, ...)
 Disable concepts on gcc < 13.3. See https://github.com/beached/daw_json_link/issues/454. More...
 
#define DAW_JSON_MAKE_REQ_TRAIT2(Name, ...)
 
#define DAW_JSON_MAKE_REQ_TRAIT2(Name, ...)
 
#define DAW_JSON_MAKE_REQ_TRAIT3(Name, ...)
 
#define DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT(Name, ...)
 
#define DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT2(Name, ...)
 
#define DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT_NT(Name, ...)
 

Macro Definition Documentation

◆ DAW_JSON_MAKE_REQ_TRAIT

#define DAW_JSON_MAKE_REQ_TRAIT (   Name,
  ... 
)
Value:
template<typename, typename = void> \
inline constexpr bool Name = false; \
\
template<typename T> \
inline constexpr bool Name<T, std::void_t<decltype( __VA_ARGS__ )>> = true

Disable concepts on gcc < 13.3. See https://github.com/beached/daw_json_link/issues/454.

Definition at line 32 of file daw_json_req_helper.h.

◆ DAW_JSON_MAKE_REQ_TRAIT2 [1/2]

#define DAW_JSON_MAKE_REQ_TRAIT2 (   Name,
  ... 
)
Value:
template<typename, typename, typename = void> \
inline constexpr bool Name = false; \
\
template<typename T, typename U> \
inline constexpr bool Name<T, U, std::void_t<decltype( __VA_ARGS__ )>> = \
true

Definition at line 63 of file daw_json_req_helper.h.

◆ DAW_JSON_MAKE_REQ_TRAIT2 [2/2]

#define DAW_JSON_MAKE_REQ_TRAIT2 (   Name,
  ... 
)
Value:
template<typename, typename, typename = void> \
inline constexpr bool Name = false; \
\
template<typename T, typename U> \
inline constexpr bool Name<T, U, std::void_t<decltype( __VA_ARGS__ )>> = \
true

Definition at line 63 of file daw_json_req_helper.h.

◆ DAW_JSON_MAKE_REQ_TRAIT3

#define DAW_JSON_MAKE_REQ_TRAIT3 (   Name,
  ... 
)
Value:
template<typename, typename, typename, typename = void> \
inline constexpr bool Name = false; \
\
template<typename T, typename U, typename V> \
inline constexpr bool Name<T, U, V, std::void_t<decltype( __VA_ARGS__ )>> = \
true

Definition at line 79 of file daw_json_req_helper.h.

◆ DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT

#define DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT (   Name,
  ... 
)
Value:
template<typename, typename = void> \
inline constexpr bool Name = false; \
\
template<typename T> \
inline constexpr bool Name<T, std::void_t<typename __VA_ARGS__>> = true

Definition at line 110 of file daw_json_req_helper.h.

◆ DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT2

#define DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT2 (   Name,
  ... 
)
Value:
template<typename, typename, typename = void> \
inline constexpr bool Name = false; \
\
template<typename T, typename U> \
inline constexpr bool Name<T, U, std::void_t<__VA_ARGS__>> = true

Definition at line 125 of file daw_json_req_helper.h.

◆ DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT_NT

#define DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT_NT (   Name,
  ... 
)
Value:
template<typename, typename = void> \
inline constexpr bool Name = false; \
\
template<typename T> \
inline constexpr bool Name<T, std::void_t<__VA_ARGS__>> = true

Definition at line 95 of file daw_json_req_helper.h.