checkpoint::serializerUserTraits namespace

Classes

template<typename Holder>
struct FirstTraitImpl
template<typename Trait, typename... Traits>
struct FirstTraitImpl<TraitHolder<Trait, Traits...>>
template<typename HolderA, typename HolderB>
struct MergeTraitsImpl
template<typename... TraitsA, typename... TraitsB>
struct MergeTraitsImpl<TraitHolder<TraitsA...>, TraitHolder<TraitsB...>>
template<typename Holder>
struct NestedTraitHolder
template<typename Holder>
struct PopTraitImpl
template<typename Trait, typename... Traits>
struct PopTraitImpl<TraitHolder<Trait, Traits...>>
template<typename... Traits>
struct TraitHolder
template<typename U, typename V>
struct traits_match
template<typename Holder>
struct UnwrapTraitsImpl
template<typename WrappedTraits, typename... Traits>
struct UnwrapTraitsImpl<TraitHolder<NestedTraitHolder<WrappedTraits>, Traits...>>
template<typename Trait, typename... Traits>
struct UnwrapTraitsImpl<TraitHolder<Trait, Traits...>>
template<>
struct UnwrapTraitsImpl<TraitHolder<>>
template<typename Holder, typename... T>
struct WithoutTraitsImpl
template<typename Holder>
struct WithoutTraitsImpl<Holder>
template<typename Holder, typename T, typename... U>
struct WithoutTraitsImpl<Holder, T, U...>
template<typename T, typename... U>
struct WithoutTraitsImpl<TraitHolder<>, T, U...>

Typedefs

template<typename HolderA, typename HolderB>
using MergeTraits = typename MergeTraitsImpl<HolderA, HolderB>::type
template<typename Holder>
using FirstTrait = typename FirstTraitImpl<Holder>::type
template<typename Holder>
using PopTrait = typename PopTraitImpl<Holder>::type
template<typename Holder, typename... T>
using WithoutTraits = typename WithoutTraitsImpl<Holder, T...>::type
template<typename Holder>
using CopyTraits = NestedTraitHolder<Holder>
template<typename Holder>
using UnwrapTraits = typename UnwrapTraitsImpl<Holder>::type

Variables

template<typename U, typename V>
bool traits_match_v constexpr

Typedef documentation

template<typename HolderA, typename HolderB>
using checkpoint::serializerUserTraits::MergeTraits = typename MergeTraitsImpl<HolderA, HolderB>::type

template<typename Holder>
using checkpoint::serializerUserTraits::FirstTrait = typename FirstTraitImpl<Holder>::type

template<typename Holder>
using checkpoint::serializerUserTraits::PopTrait = typename PopTraitImpl<Holder>::type

template<typename Holder, typename... T>
using checkpoint::serializerUserTraits::WithoutTraits = typename WithoutTraitsImpl<Holder, T...>::type

template<typename Holder>
using checkpoint::serializerUserTraits::CopyTraits = NestedTraitHolder<Holder>

template<typename Holder>
using checkpoint::serializerUserTraits::UnwrapTraits = typename UnwrapTraitsImpl<Holder>::type

Variable documentation

template<typename U, typename V>
bool checkpoint::serializerUserTraits::traits_match_v constexpr