template<typename SerT, typename UserTraits = UserTraitHolder<>>
checkpoint::SerializerRef struct

Public types

using TraitHolder = UserTraits
using ModeType = eSerializationMode
template<typename SerializerT, typename T>
using DispatcherType = typename SerT::template DispatcherType<SerializerT, T>
using TraitlessT = SerializerRef<SerT>

Constructors, destructors, conversion operators

SerializerRef(SerT* m_impl, const UserTraits& = {}) explicit
template<typename OtherTraits>
SerializerRef(const SerializerRef<SerT, OtherTraits>& other) explicit
template<typename OtherTraits>
operator SerializerRef<SerT, OtherTraits>() const

Public functions

auto getMode() const -> ModeType
auto isSizing() const -> bool
auto isPacking() const -> bool
auto isUnpacking() const -> bool
auto isFootprinting() const -> bool
template<typename T>
void countBytes(const T& t)
void addBytes(std::size_t s)
void contiguousBytes(void* ptr, SerialSizeType size, SerialSizeType num_elms)
auto usedBufferSize() const -> SerialSizeType
template<typename SerializerT, typename T>
void contiguousTyped(SerializerT& serdes, T* ptr, SerialSizeType num_elms)
template<typename... Args>
void skip(Args && ... args)
auto getBuffer() const -> SerialByteType*
auto getSpotIncrement(const SerialSizeType inc) -> SerialByteType*
auto isVirtualDisabled() const -> bool
void setVirtualDisabled(bool val)
auto operator->() -> SerT*
template<typename Trait, typename... Traits>
auto withTraits(UserTraitHolder<Trait, Traits...> = {}) -> auto
template<typename Trait, typename... Traits>
auto withoutTraits(UserTraitHolder<Trait, Traits...> = {}) -> auto
template<typename... NewTraits>
auto setTraits(const UserTraitHolder<NewTraits...>& = {}) -> SerializerRef<SerT, UserTraitHolder<NewTraits...>>

Protected variables

SerT*const impl