DNA Calib 1.1
Project brief
Classes | Typedefs | Functions
terse::traits Namespace Reference

Classes

struct  has_load_function
 
struct  has_load_member
 
struct  has_push_back_member
 
struct  has_reserve_member
 
struct  has_save_function
 
struct  has_save_member
 
struct  has_serialize_function
 
struct  has_serialize_member
 
struct  has_wide_elements
 
struct  is_pair
 
struct  is_pair< std::pair< K, V > >
 
struct  is_tuple
 
struct  is_tuple< std::tuple< K, V > >
 
struct  needs_allocator
 
struct  needs_allocator< T, typename sink< typename T::allocator_type, decltype(std::declval< T >().get_allocator())>::type >
 
struct  sink
 
struct  true_sink
 
struct  uint_of_size
 

Typedefs

template<typename TContainer >
using is_batchable = std::is_scalar< typename TContainer::value_type >
 

Functions

template<class T >
static auto test_serialize_member (std::int32_t) -> true_sink< decltype(std::declval< T >().serialize(std::declval< T & >()))>
 
template<class >
static auto test_serialize_member (std::uint32_t) -> std::false_type
 
template<class T >
static auto test_load_member (std::int32_t) -> true_sink< decltype(std::declval< T >().load(std::declval< T & >()))>
 
template<class >
static auto test_load_member (std::uint32_t) -> std::false_type
 
template<class T >
static auto test_save_member (std::int32_t) -> true_sink< decltype(std::declval< T >().save(std::declval< T & >()))>
 
template<class >
static auto test_save_member (std::uint32_t) -> std::false_type
 
template<class TContainer >
static auto test_reserve_member (std::int32_t) -> true_sink< decltype(std::declval< TContainer >().reserve(0u))>
 
template<class >
static auto test_reserve_member (std::uint32_t) -> std::false_type
 
template<class TContainer >
static auto test_push_back_member (std::int32_t) -> true_sink< decltype(std::declval< TContainer >().push_back(std::declval< typename TContainer::value_type >()))>
 
template<class >
static auto test_push_back_member (std::uint32_t) -> std::false_type
 
template<class T >
static auto test_serialize_function (std::int32_t) -> true_sink< decltype(serialize(std::declval< T & >(), std::declval< T & >()))>
 
template<class >
static auto test_serialize_function (std::uint32_t) -> std::false_type
 
template<class T >
static auto test_load_function (std::int32_t) -> true_sink< decltype(load(std::declval< T & >(), std::declval< T & >()))>
 
template<class >
static auto test_load_function (std::uint32_t) -> std::false_type
 
template<class T >
static auto test_save_function (std::int32_t) -> true_sink< decltype(save(std::declval< T & >(), std::declval< T & >()))>
 
template<class >
static auto test_save_function (std::uint32_t) -> std::false_type
 

Typedef Documentation

◆ is_batchable

template<typename TContainer >
using terse::traits::is_batchable = typedef std::is_scalar<typename TContainer::value_type>

Function Documentation

◆ test_load_function() [1/2]

template<class T >
static auto terse::traits::test_load_function ( std::int32_t  ) -> true_sink< decltype(load(std::declval< T & >(), std::declval< T & >()))>
static

◆ test_load_function() [2/2]

template<class >
static auto terse::traits::test_load_function ( std::uint32_t  ) -> std::false_type
static

◆ test_load_member() [1/2]

template<class T >
static auto terse::traits::test_load_member ( std::int32_t  ) -> true_sink< decltype(std::declval< T >().load(std::declval< T & >()))>
static

◆ test_load_member() [2/2]

template<class >
static auto terse::traits::test_load_member ( std::uint32_t  ) -> std::false_type
static

◆ test_push_back_member() [1/2]

template<class TContainer >
static auto terse::traits::test_push_back_member ( std::int32_t  ) -> true_sink< decltype(std::declval< TContainer >().push_back(std::declval< typename TContainer::value_type >()))>
static

◆ test_push_back_member() [2/2]

template<class >
static auto terse::traits::test_push_back_member ( std::uint32_t  ) -> std::false_type
static

◆ test_reserve_member() [1/2]

template<class TContainer >
static auto terse::traits::test_reserve_member ( std::int32_t  ) -> true_sink< decltype(std::declval< TContainer >().reserve(0u))>
static

◆ test_reserve_member() [2/2]

template<class >
static auto terse::traits::test_reserve_member ( std::uint32_t  ) -> std::false_type
static

◆ test_save_function() [1/2]

template<class T >
static auto terse::traits::test_save_function ( std::int32_t  ) -> true_sink< decltype(save(std::declval< T & >(), std::declval< T & >()))>
static

◆ test_save_function() [2/2]

template<class >
static auto terse::traits::test_save_function ( std::uint32_t  ) -> std::false_type
static

◆ test_save_member() [1/2]

template<class T >
static auto terse::traits::test_save_member ( std::int32_t  ) -> true_sink< decltype(std::declval< T >().save(std::declval< T & >()))>
static

◆ test_save_member() [2/2]

template<class >
static auto terse::traits::test_save_member ( std::uint32_t  ) -> std::false_type
static

◆ test_serialize_function() [1/2]

template<class T >
static auto terse::traits::test_serialize_function ( std::int32_t  ) -> true_sink< decltype(serialize(std::declval< T & >(), std::declval< T & >()))>
static

◆ test_serialize_function() [2/2]

template<class >
static auto terse::traits::test_serialize_function ( std::uint32_t  ) -> std::false_type
static

◆ test_serialize_member() [1/2]

template<class T >
static auto terse::traits::test_serialize_member ( std::int32_t  ) -> true_sink< decltype(std::declval< T >().serialize(std::declval< T & >()))>
static

◆ test_serialize_member() [2/2]

template<class >
static auto terse::traits::test_serialize_member ( std::uint32_t  ) -> std::false_type
static