template<typename SerT, typename UserTraits = UserTraitHolder<>>
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