|
SObjectizer
5.5
|
Various stuff for creation of event handlers. More...
#include <so_5/h/exception.hpp>#include <so_5/h/ret_code.hpp>#include <so_5/details/h/lambda_traits.hpp>#include <so_5/rt/h/execution_demand.hpp>#include <so_5/rt/h/message_handler_format_detector.hpp>#include <so_5/rt/h/mbox.hpp>#include <algorithm>Go to the source code of this file.
Namespaces | |
| so_5 | |
| Public part of message limit implementation. | |
| so_5::details | |
| Some reusable and low-level classes/functions which can be used in public header files. | |
| so_5::details::event_subscription_helpers | |
| Various helpers for event subscription. | |
Functions | |
| template<class Agent > | |
| Agent * | so_5::details::event_subscription_helpers::get_actual_agent_pointer (agent_t &agent) |
| Get actual agent pointer. More... | |
| template<class Result , class Message > | |
| msg_service_request_t< Result, typename message_payload_type< Message >::envelope_type > * | so_5::details::event_subscription_helpers::get_actual_service_request_pointer (const message_ref_t &message_ref) |
| Get actual msg_service_request pointer. More... | |
| template<typename R , typename L > | |
| void | so_5::details::event_subscription_helpers::set_promise (std::promise< R > &to, L result_provider) |
| A helper for setting a result to a promise. More... | |
| template<typename L > | |
| void | so_5::details::event_subscription_helpers::set_promise (std::promise< void > &to, L result_provider) |
| A helper for setting a result to a promise<void>. More... | |
| template<typename Lambda , typename Result , typename Arg > | |
| std::enable_if< !is_agent_method_pointer< Lambda >::value, msg_type_and_handler_pair_t >::type | so_5::details::event_subscription_helpers::make_handler_with_arg (Lambda lambda) |
| Helper template for creation of event handler with actual argument. More... | |
| template<typename Agent , typename Method_Pointer > | |
| std::enable_if< is_agent_method_pointer< Method_Pointer >::value, msg_type_and_handler_pair_t >::type | so_5::details::event_subscription_helpers::make_handler_with_arg_for_agent (Agent *agent, Method_Pointer pfn) |
| Helper template for creation of event handler with actual argument. More... | |
| template<typename Lambda , typename Result , typename Sig > | |
| msg_type_and_handler_pair_t | so_5::details::event_subscription_helpers::make_handler_without_arg (Lambda &&lambda) |
| Helper template for creation of event handler without actual argument. More... | |
| void | so_5::details::event_subscription_helpers::ensure_handler_can_be_used_with_mbox (const ::so_5::details::msg_type_and_handler_pair_t &handler, const ::so_5::mbox_t &target_mbox) |
| Ensure that mutability of message is compatible with mutability of target mbox. More... | |
| template<class Lambda > | |
| details::msg_type_and_handler_pair_t | so_5::handler (Lambda &&lambda) |
| A function for creation event handler. More... | |
| template<class Signal , class Lambda > | |
| details::msg_type_and_handler_pair_t | so_5::handler (Lambda &&lambda) |
| A function for creation event handler. More... | |
| template<typename Method_Pointer > | |
| std::enable_if< details::is_agent_method_pointer< Method_Pointer >::value, details::msg_type_and_handler_pair_t >::type | so_5::preprocess_agent_event_handler (const mbox_t &mbox, agent_t &agent, Method_Pointer pfn) |
| Do preprocessing and some verification of event handler and return msg_type_and_handler_pair for it. More... | |
| template<typename Lambda > | |
| std::enable_if< details::lambda_traits::is_lambda< Lambda >::value, details::msg_type_and_handler_pair_t >::type | so_5::preprocess_agent_event_handler (const mbox_t &mbox, agent_t &, Lambda &&lambda) |
| Do preprocessing and some verification of event handler and return msg_type_and_handler_pair for it. More... | |
| template<typename Bunch > | |
| void | so_5::details::fill_handlers_bunch (Bunch &bunch, std::size_t) |
| template<typename Bunch , typename... Others> | |
| void | so_5::details::fill_handlers_bunch (Bunch &bunch, std::size_t index, msg_type_and_handler_pair_t &&handler, Others &&... other_handlers) |
| template<typename Bunch , typename Lambda , typename... Others> | |
| void | so_5::details::fill_handlers_bunch (Bunch &bunch, std::size_t index, Lambda &&lambda, Others &&... other_handlers) |
Various stuff for creation of event handlers.
1.8.14