DNA Calib 1.1
Project brief
Classes | Namespaces | Typedefs | Functions
Traits.h File Reference
#include <cstdint>
#include <type_traits>
#include <utility>
Include dependency graph for Traits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Namespaces

namespace  terse
 
namespace  terse::traits
 

Typedefs

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

Functions

template<class T >
static auto terse::traits::test_serialize_member (std::int32_t) -> true_sink< decltype(std::declval< T >().serialize(std::declval< T & >()))>
 
template<class >
static auto terse::traits::test_serialize_member (std::uint32_t) -> std::false_type
 
template<class T >
static auto terse::traits::test_load_member (std::int32_t) -> true_sink< decltype(std::declval< T >().load(std::declval< T & >()))>
 
template<class >
static auto terse::traits::test_load_member (std::uint32_t) -> std::false_type
 
template<class T >
static auto terse::traits::test_save_member (std::int32_t) -> true_sink< decltype(std::declval< T >().save(std::declval< T & >()))>
 
template<class >
static auto terse::traits::test_save_member (std::uint32_t) -> std::false_type
 
template<class TContainer >
static auto terse::traits::test_reserve_member (std::int32_t) -> true_sink< decltype(std::declval< TContainer >().reserve(0u))>
 
template<class >
static auto terse::traits::test_reserve_member (std::uint32_t) -> std::false_type
 
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 >()))>
 
template<class >
static auto terse::traits::test_push_back_member (std::uint32_t) -> std::false_type
 
template<class T >
static auto terse::traits::test_serialize_function (std::int32_t) -> true_sink< decltype(serialize(std::declval< T & >(), std::declval< T & >()))>
 
template<class >
static auto terse::traits::test_serialize_function (std::uint32_t) -> std::false_type
 
template<class T >
static auto terse::traits::test_load_function (std::int32_t) -> true_sink< decltype(load(std::declval< T & >(), std::declval< T & >()))>
 
template<class >
static auto terse::traits::test_load_function (std::uint32_t) -> std::false_type
 
template<class T >
static auto terse::traits::test_save_function (std::int32_t) -> true_sink< decltype(save(std::declval< T & >(), std::declval< T & >()))>
 
template<class >
static auto terse::traits::test_save_function (std::uint32_t) -> std::false_type