SObjectizer  5.8
Loading...
Searching...
No Matches
mhood.hpp File Reference

Definition of the template class mhood. More...

#include <so_5/message.hpp>
#include <so_5/message_holder.hpp>
#include <so_5/compiler_features.hpp>
#include <type_traits>

Go to the source code of this file.

Classes

class  so_5::details::mhood_base_t< M, T, Mut >
 A type to be used as a base for mhood_t implementation. More...
 
class  so_5::details::mhood_base_t< M, mhood_type_t::classical_message, message_mutability_t::immutable_message >
 A special base for the case when message type is derived from message_t. More...
 
class  so_5::details::mhood_base_t< M, mhood_type_t::classical_message, message_mutability_t::mutable_message >
 A special base for the case when message type is derived from message_t. More...
 
class  so_5::details::mhood_base_t< M, mhood_type_t::classical_signal, message_mutability_t::immutable_message >
 A special base for the case when message type is derived from message_t. More...
 
class  so_5::details::mhood_base_t< M, mhood_type_t::classical_signal, message_mutability_t::mutable_message >
 A special base for the case when message type is derived from message_t. More...
 
class  so_5::details::mhood_base_t< M, mhood_type_t::user_type_message, message_mutability_t::immutable_message >
 A special base for the case when message type is not related to message_t. More...
 
class  so_5::details::mhood_base_t< M, mhood_type_t::user_type_message, message_mutability_t::mutable_message >
 A special base for the case when message type is not related to message_t. More...
 
struct  so_5::details::mhood_type_detector< T >
 A special selector of message hood type. More...
 
struct  so_5::details::mhood_mutability_detector< T >
 A special detector of message immutability/mutability. More...
 
class  so_5::mhood_t< M >
 A message wrapped to be used as type of argument for event handlers. More...
 

Namespaces

namespace  so_5
 Private part of message limit implementation.
 
namespace  so_5::details
 Some reusable and low-level classes/functions which can be used in public header files.
 

Typedefs

template<typename Msg >
using so_5::details::actual_mhood_base_type
 Just a useful typename for base type of mhood implementation.
 
template<typename M >
using so_5::mutable_mhood_t = mhood_t< mutable_msg<M> >
 A short name for message hood for mutable message.
 

Enumerations

enum class  so_5::details::mhood_type_t { so_5::details::classical_message , so_5::details::classical_signal , so_5::details::user_type_message }
 A special selector for mhood_t implementations. More...
 

Functions

template<typename M >
std::enable_if<!is_signal< M >::value, mhood_t< immutable_msg< M > > >::type so_5::to_immutable (mhood_t< mutable_msg< M > > msg)
 Transform mutable message instance into immutable.
 
template<typename M >
std::enable_if< is_signal< M >::value, mhood_t< immutable_msg< M > > >::type so_5::to_immutable (mhood_t< mutable_msg< M > >)
 

Detailed Description

Definition of the template class mhood.

Definition in file mhood.hpp.