src/checkpoint/traits/user_traits.h file

Namespaces

namespace checkpoint
namespace checkpoint::serializerUserTraits

Classes

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

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
template<typename... Traits>
using UserTraitHolder = serializerUserTraits::UnwrapTraits<serializerUserTraits::TraitHolder<Traits...>>

Variables

template<typename U, typename V>
bool traits_match_v constexpr