15 #include <daw/cpp_17.h>
20 #include <type_traits>
25 namespace container_detect {
28 (
void)( std::end( std::declval<T &>( ) ) ),
29 (
void)( std::declval<typename T::value_type>( ) ),
30 (
void)( std::declval<T &>( ).insert(
31 std::end( std::declval<T &>( ) ),
32 std::declval<typename T::value_type>( ) ) ) );
40 template<
typename T, std::
size_t N>
41 struct container_traits<
std::array<T, N>> : std::true_type {};
#define DAW_JSON_MAKE_REQ_TRAIT(Name,...)
Disable concepts on gcc < 13.3. See https://github.com/beached/daw_json_link/issues/454.
#define DAW_JSON_ENABLEIF_S(...)
constexpr bool is_container_v
Is the type deduced or specialized as a container.
Customization point traits.
DAW_JSON_REQUIRES(boost::describe::has_describe_members< T >::value and use_boost_describe_v< T >) struct json_data_contract< T >
#define DAW_JSON_VER
The version string used in namespace definitions. Must be a valid namespace name.