template<typename T>
checkpoint::dispatch::vrt::VirtualSerializeTraits struct

Public types

template<typename U>
using has_base_typedef_t = ::checkpoint::dispatch::vrt::checkpoint_base_type_t<U>
using has_base_typedef = detection::is_detected<has_base_typedef_t, T>
template<typename U>
using has_dynamic_serialize_t = decltype(std::declval<U>()._checkpointDynamicSerialize(std::declval<void*>(), std::declval<TypeIdx>(), std::declval<TypeIdx>()))
using has_dynamic_serialize = detection::is_detected<has_dynamic_serialize_t, T>
template<typename U>
using has_dynamic_type_index_t = decltype(std::declval<U>()._checkpointDynamicTypeIndex())
using has_dynamic_type_index = detection::is_detected_exact<TypeIdx, has_dynamic_type_index_t, T>

Public static variables

static const auto has_virtual_serialize constexpr
static const auto has_not_virtual_serialize constexpr

Typedef documentation

template<typename T> template<typename U>
using checkpoint::dispatch::vrt::VirtualSerializeTraits<T>::has_base_typedef_t = ::checkpoint::dispatch::vrt::checkpoint_base_type_t<U>

Expect a typedef: using _CheckpointVirtualSerializerBaseType = T;

template<typename T> template<typename U>
using checkpoint::dispatch::vrt::VirtualSerializeTraits<T>::has_dynamic_serialize_t = decltype(std::declval<U>()._checkpointDynamicSerialize(std::declval<void*>(), std::declval<TypeIdx>(), std::declval<TypeIdx>()))

Expect dynamic serialize method: virtual void _checkpointDynamicSerialize(void*, TypeIdx, TypeIdx);

template<typename T> template<typename U>
using checkpoint::dispatch::vrt::VirtualSerializeTraits<T>::has_dynamic_type_index_t = decltype(std::declval<U>()._checkpointDynamicTypeIndex())

Expect dynamic type idx method: virtual TypeIdx _checkpointDynamicTypeIndex();