src/vt/messaging/message/message_serialize.h file

Namespaces

namespace vt
namespace vt::messaging

Classes

template<class...>
struct vt::messaging::cxx14_conjunction
template<class B1>
struct vt::messaging::cxx14_conjunction<B1>
template<class B1, class... Bn>
struct vt::messaging::cxx14_conjunction<B1, Bn...>
template<typename... Ts>
struct vt::messaging::cxx14_make_void
template<class T>
struct vt::messaging::has_any_serialize_member_t
template<typename U, typename = void>
struct vt::messaging::has_own_serialize_member_t
template<typename U>
struct vt::messaging::has_own_serialize_member_t<U, std::enable_if_t<std::is_same<void(U::*)(::checkpoint::Sizer&), decltype(&U::template serialize<SerializeSizerType>)>::value>>
template<typename T>
struct vt::messaging::is_byte_copyable_t
template<typename MsgT>
struct vt::messaging::DefinesSerializationMode
template<typename MsgT, typename SelfT>
struct vt::messaging::NonSerializedMsg
template<typename MsgT, typename SelfT>
struct vt::messaging::SerializeSupportedMsg
template<typename MsgT, typename SelfT>
struct vt::messaging::SerializeRequiredMsg
template<typename MsgT, typename SelfT, typename ... DepTypesT>
struct vt::messaging::SerializeIfNeededMsg
template<typename U, typename = void>
struct vt::messaging::msg_defines_serialize_mode
template<typename U>
struct vt::messaging::msg_defines_serialize_mode<U, std::enable_if_t<std::is_same<void(U::*)(), decltype(&U::vt_serialize_defined_on_type)>::value>>
template<typename U>
struct vt::messaging::msg_defines_serialize_mode<U, std::enable_if_t<std::is_base_of<DefinesSerializationMode<U>, U>::value>>
template<typename MessageT, typename = void>
struct vt::messaging::msg_serialization_mode
template<typename MessageT>
struct vt::messaging::msg_serialization_mode<MessageT, cxx14_void_t<decltype(MessageT::vt_serialize_mode)>>

Defines

#define vt_msg_serialize_mode_(MODE)
#define vt_msg_serialize_required()
Mark the message as requiring serialization.
#define vt_msg_serialize_supported()
Mark the message as supporting BUT NOT USING serialization.
#define vt_msg_serialize_prohibited()
Prohibit the message from having serialization support.
#define vt_msg_serialize_if_needed_by_parent()
Mark the message as serializable if needed by the base type.
#define vt_msg_serialize_if_needed_by_parent_or_type1(TYPE1)
Mark the message as serializable if needed by the base type or by any of the specified types.
#define vt_msg_serialize_if_needed_by_parent_or_type2(TYPE1, TYPE2)
#define vt_msg_serialize_if_needed_by_parent_or_type3(TYPE1, TYPE2, TYPE3)

Define documentation

#define vt_msg_serialize_required()

Mark the message as requiring serialization.

It is an error if the message does not provide serialization support.

#define vt_msg_serialize_supported()

Mark the message as supporting BUT NOT USING serialization.

This message MUST support a serialization function. However, this support is only for derived message usage.

The message itself will NOT be sent with serialization. Standard copyable transmission rules apply, even if subtypes of this message may be serialized.

#define vt_msg_serialize_prohibited()

Prohibit the message from having serialization support.

The message CANNOT support a serialization function and the message is always sent without serialization. Standard copyable transmission rules apply.

#define vt_msg_serialize_if_needed_by_parent()

Mark the message as serializable if needed by the base type.

If the message does not need to be serialized it is treated as supporting serialization, even if serialization is prohibited by the base type.

#define vt_msg_serialize_if_needed_by_parent_or_type1(TYPE1)

Mark the message as serializable if needed by the base type or by any of the specified types.

If the message does not need to be serialized it is treated as supporting serialization, even if serialization is prohibited by the base type.