7 #pragma warning(disable : 4365 4987)
16static_assert(
sizeof(char) == 1ul,
"Unsupported platform, char is not 8-bits wide.");
27template<
typename T,
typename =
void>
32 decltype(std::declval<T>().get_allocator())>::type> : std::true_type {};
39static auto test_serialize_member(std::int32_t)->true_sink<
decltype(std::declval<T>().serialize(std::declval<T&>()))>;
48static auto test_load_member(std::int32_t)->true_sink<
decltype(std::declval<T>().load(std::declval<T&>()))>;
57static auto test_save_member(std::int32_t)->true_sink<
decltype(std::declval<T>().save(std::declval<T&>()))>;
65template<
class TContainer>
66static auto test_reserve_member(std::int32_t)->true_sink<
decltype(std::declval<TContainer>().reserve(0u))>;
74template<
class TContainer>
76 std::declval<typename TContainer::value_type>()))>;
96static auto test_load_function(std::int32_t)->true_sink<
decltype(load(std::declval<T&>(), std::declval<T&>()))>;
105static auto test_save_function(std::int32_t)->true_sink<
decltype(save(std::declval<T&>(), std::declval<T&>()))>;
113template<
typename TContainer>
116template<
typename TContainer>
118 static constexpr bool value = (
sizeof(
typename TContainer::value_type) > 1ul);
124template<
typename K,
typename V>
130template<
typename K,
typename V>
131struct is_tuple<std::tuple<K, V> > :
public std::true_type {};
static auto test_reserve_member(std::int32_t) -> true_sink< decltype(std::declval< TContainer >().reserve(0u))>
static auto test_load_function(std::int32_t) -> true_sink< decltype(load(std::declval< T & >(), std::declval< T & >()))>
static auto test_serialize_function(std::int32_t) -> true_sink< decltype(serialize(std::declval< T & >(), std::declval< T & >()))>
static auto test_serialize_member(std::int32_t) -> true_sink< decltype(std::declval< T >().serialize(std::declval< T & >()))>
static auto test_save_function(std::int32_t) -> true_sink< decltype(save(std::declval< T & >(), std::declval< T & >()))>
static auto test_load_member(std::int32_t) -> true_sink< decltype(std::declval< T >().load(std::declval< T & >()))>
static auto test_save_member(std::int32_t) -> true_sink< decltype(std::declval< T >().save(std::declval< T & >()))>
static auto test_push_back_member(std::int32_t) -> true_sink< decltype(std::declval< TContainer >().push_back(std::declval< typename TContainer::value_type >()))>
std::is_scalar< typename TContainer::value_type > is_batchable
Definition: Traits.h:114
void type
Definition: Traits.h:24