SObjectizer  5.8
Loading...
Searching...
No Matches
so_5::transformed_message_t< Msg > Class Template Reference

A result of message transformation. More...

#include <transformed_message.hpp>

Public Member Functions

 transformed_message_t (mbox_t mbox, std::unique_ptr< typename message_payload_type< Msg >::envelope_type > msg)
 Initializing constructor for the case when Msg is a message type.
 
 transformed_message_t (mbox_t mbox)
 Initializing constructor for the case when Msg is a signal type.
 
template<typename Msg_In_Holder , message_ownership_t Ownership>
 transformed_message_t (mbox_t mbox, message_holder_t< Msg_In_Holder, Ownership > msg_holder)
 
const mbox_tmbox () const
 Destination message box.
 
std::type_index msg_type () const
 Type of the transformed message.
 
const message_ref_tmessage () const
 Instance of transformed message.
 

Static Public Member Functions

template<typename... Args>
static transformed_message_t< Msg > make (mbox_t mbox, Args &&... args)
 A helper method for transformed_message construction.
 

Private Attributes

mbox_t m_mbox
 Destination message box.
 
message_ref_t m_message
 Instance of transformed message.
 

Detailed Description

template<typename Msg>
class so_5::transformed_message_t< Msg >

A result of message transformation.

This template class is intended to store the result of message transformation and redirection procedure performed by so_5::agent_t::limit_then_transform, so_5::bind_transformer and so_5::msinks::transform_then_redirect.

An instance of this class is usually created by the static member function make() or by a free function so_5::make_transformed.

Template Parameters
MsgType of result (transformed) message. If Msg is the message type, then Msg, so_5::immutable_msg<Msg> or so_5::mutable_msg<Msg> can be used. If Msg is the signal type then Msg or so_5::immutable_msg<Msg> is allowed.
Since
v.5.8.1

Definition at line 90 of file transformed_message.hpp.

Constructor & Destructor Documentation

◆ transformed_message_t() [1/3]

template<typename Msg >
so_5::transformed_message_t< Msg >::transformed_message_t ( mbox_t mbox,
std::unique_ptr< typename message_payload_type< Msg >::envelope_type > msg )
inline

Initializing constructor for the case when Msg is a message type.

Parameters
mboxMessage box to which transformed message to be sent.
msgNew message instance.

Definition at line 94 of file transformed_message.hpp.

◆ transformed_message_t() [2/3]

template<typename Msg >
so_5::transformed_message_t< Msg >::transformed_message_t ( mbox_t mbox)
inline

Initializing constructor for the case when Msg is a signal type.

Parameters
mboxMessage box to which signal to be sent.

Definition at line 106 of file transformed_message.hpp.

◆ transformed_message_t() [3/3]

template<typename Msg >
template<typename Msg_In_Holder , message_ownership_t Ownership>
so_5::transformed_message_t< Msg >::transformed_message_t ( mbox_t mbox,
message_holder_t< Msg_In_Holder, Ownership > msg_holder )
inline

Initializing constructor for the case when Msg is already exists as a message_holder_t instance.

Since
v.5.8.1

Definition at line 122 of file transformed_message.hpp.

Member Function Documentation

◆ make()

template<typename Msg >
template<typename... Args>
static transformed_message_t< Msg > so_5::transformed_message_t< Msg >::make ( mbox_t mbox,
Args &&... args )
inlinestatic

A helper method for transformed_message construction.

Definition at line 153 of file transformed_message.hpp.

◆ mbox()

template<typename Msg >
const mbox_t & so_5::transformed_message_t< Msg >::mbox ( ) const
inline

Destination message box.

Definition at line 137 of file transformed_message.hpp.

◆ message()

template<typename Msg >
const message_ref_t & so_5::transformed_message_t< Msg >::message ( ) const
inline

Instance of transformed message.

Note
Will be nullptr for signal.

Definition at line 148 of file transformed_message.hpp.

◆ msg_type()

template<typename Msg >
std::type_index so_5::transformed_message_t< Msg >::msg_type ( ) const
inline

Type of the transformed message.

Definition at line 141 of file transformed_message.hpp.

Member Data Documentation

◆ m_mbox

template<typename Msg >
mbox_t so_5::transformed_message_t< Msg >::m_mbox
private

Destination message box.

Definition at line 167 of file transformed_message.hpp.

◆ m_message

template<typename Msg >
message_ref_t so_5::transformed_message_t< Msg >::m_message
private

Instance of transformed message.

Note
Will be nullptr for signal.

Definition at line 173 of file transformed_message.hpp.


The documentation for this class was generated from the following file: