SObjectizer-5 Extra
Classes | Namespaces | Typedefs | Functions | Variables
collecting_mbox.hpp File Reference

Implementation of collecting mbox. More...

#include <so_5_extra/error_ranges.hpp>
#include <so_5/impl/msg_tracing_helpers.hpp>
#include <so_5/details/sync_helpers.hpp>
#include <so_5/mbox.hpp>
#include <so_5/enveloped_msg.hpp>
#include <so_5/optional.hpp>
#include <memory>
#include <tuple>
#include <utility>

Go to the source code of this file.

Classes

struct  so_5::extra::mboxes::collecting_mbox::details::config_type< Collecting_Msg, Traits, Lock_Type >
 A helper type which is a collection of type parameters. More...
 
class  so_5::extra::mboxes::collecting_mbox::details::collected_messages_bunch_t< Config_Type >
 Type of message to be sent when all collecting messages are received. More...
 
class  so_5::extra::mboxes::collecting_mbox::details::collected_messages_bunch_builder_t< Config_Type >
 A builder for case when collecting_mbox collects messages. More...
 
class  so_5::extra::mboxes::collecting_mbox::details::collected_signals_bunch_t< Config_Type >
 A type of message to be sent when all collected signals are received. More...
 
class  so_5::extra::mboxes::collecting_mbox::details::collected_signals_bunch_builder_t< Config_Type >
 A builder for case when collecting_mbox collects signals. More...
 
struct  so_5::extra::mboxes::collecting_mbox::details::collected_bunch_type_selector< Config_Type >
 A helper type for selection of actual message type and type of message builder. More...
 
class  so_5::extra::mboxes::collecting_mbox::details::actual_mbox_t< Config_Type, Tracing_Base >
 Actual implementation of collecting mbox. More...
 
struct  so_5::extra::mboxes::collecting_mbox::constexpr_size_traits_t< S >
 A trait for mbox_template_t to be used when count of messages to collected is known at the compile time. More...
 
class  so_5::extra::mboxes::collecting_mbox::constexpr_size_traits_t< S >::signals_collected_mixin_type
 A special mixin which must be used in actual type of messages_collected message for cases when signals are collected. More...
 
class  so_5::extra::mboxes::collecting_mbox::constexpr_size_traits_t< S >::messages_collected_mixin_type
 A special mixin which must be used in actual type of messages_collected message for cases when messages are collected. More...
 
struct  so_5::extra::mboxes::collecting_mbox::constexpr_size_traits_t< S >::size_specific_base_type
 A special mixin which must be used in actual type of collecting mbox. More...
 
struct  so_5::extra::mboxes::collecting_mbox::runtime_size_traits_t
 A trait for mbox_template_t to be used when count of messages to collected is known only at runtime. More...
 
class  so_5::extra::mboxes::collecting_mbox::runtime_size_traits_t::signals_collected_mixin_type
 A special mixin which must be used in actual type of messages_collected message for cases when signals are collected. More...
 
class  so_5::extra::mboxes::collecting_mbox::runtime_size_traits_t::messages_collected_mixin_type
 A special mixin which must be used in actual type of messages_collected message. More...
 
struct  so_5::extra::mboxes::collecting_mbox::runtime_size_traits_t::size_specific_base_type
 A special mixin which must be used in actual type of collecting mbox. More...
 
class  so_5::extra::mboxes::collecting_mbox::mbox_template_t< Collecting_Msg, Traits, Lock_Type >
 A template which defines properties for a collecting mbox. More...
 

Namespaces

 so_5
 Ranges for error codes of each submodules.
 
 so_5::extra
 
 so_5::extra::mboxes
 
 so_5::extra::mboxes::collecting_mbox
 
 so_5::extra::mboxes::collecting_mbox::errors
 
 so_5::extra::mboxes::collecting_mbox::details
 

Typedefs

template<typename Config_Type >
using so_5::extra::mboxes::collecting_mbox::details::messages_collected_t = typename collected_bunch_type_selector< Config_Type >::message_type
 Type of message to be sent as messages_collected instance. More...
 
Type extractors for config_type
template<typename Config_Type >
using so_5::extra::mboxes::collecting_mbox::details::collecting_msg_t = typename Config_Type::collecting_msg_type
 
template<typename Config_Type >
using so_5::extra::mboxes::collecting_mbox::details::traits_t = typename Config_Type::traits_type
 
template<typename Config_Type >
using so_5::extra::mboxes::collecting_mbox::details::lock_t = typename Config_Type::lock_type
 

Functions

template<typename Config_Type >
void so_5::extra::mboxes::collecting_mbox::details::check_mutability_validity_for_target_mbox (const so_5::mbox_t &target)
 Helper method for checking message mutability and type of the target mbox. More...
 
optional< message_ref_t > so_5::extra::mboxes::collecting_mbox::details::detect_message_to_store (message_ref_t what)
 Detect the actual message to be collected (if it is present). More...
 

Variables

const int so_5::extra::mboxes::collecting_mbox::errors::rc_subscribe_event_handler_be_used_on_collecting_mbox
 An attempt to make subscription to collecting_mbox. More...
 
const int so_5::extra::mboxes::collecting_mbox::errors::rc_delivery_filter_cannot_be_used_on_collecting_mbox
 An attempt to set delivery filter to collecting_mbox. More...
 
const int so_5::extra::mboxes::collecting_mbox::errors::rc_different_message_type
 An attempt to send a message or signal of different type. More...
 

Detailed Description

Implementation of collecting mbox.

Since
v.1.0.1

Definition in file collecting_mbox.hpp.