|
COMMS
Template library intended to help with implementation of communication protocols.
|
Contains extra logic to help with dispatching message types and objects. More...
#include "comms/CompileControl.h"#include "comms/details/dispatch_impl.h"#include "comms/details/tag.h"#include "comms/Message.h"#include "comms/util/type_traits.h"#include <type_traits>#include <utility>Go to the source code of this file.
Namespaces | |
| namespace | comms |
| Main namespace for all classes / functions of COMMS library. | |
Functions | |
| template<typename TAllMessages , typename TId , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsg (TId &&id, std::size_t index, TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using either "polymorphic" or "static binary search" behavior. | |
| template<typename TAllMessages , typename TId , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsg (TId &&id, TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using either "polymorphic" or "static binary search" behavior. | |
| template<typename TAllMessages , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsg (TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using either "polymorphic" or "static binary search" behavior. | |
| template<typename TMsg , typename THandler > | |
| constexpr bool | comms::dispatchMsgIsDirect () |
| Compile time check whether the message object can use its own polymorphic dispatch() (see Polymorphic Dispatch Message for Handling) when dispatchMsg() is invoked. | |
| template<typename TMsg , typename THandler > | |
| constexpr bool | comms::dispatchMsgIsDirect (TMsg &&msg, THandler &&handler) |
| Similar to other dispatchMsgIsDirect(), but can help in deducing template arguments. | |
| template<typename TAllMessages , typename TMsg , typename THandler > | |
| constexpr bool | comms::dispatchMsgIsPolymorphic () |
| Compile time check whether the dispatchMsg() will use "polymorphic" (including "direct") dispatch for provided tuple of messages and handler. | |
| template<typename TAllMessages , typename TMsg , typename THandler > | |
| constexpr bool | comms::dispatchMsgIsPolymorphic (TMsg &&msg, THandler &&handler) |
| Similar to other dispatchMsgIsPolymorphic(), but can help in deducing template arguments. | |
| template<typename TAllMessages , typename TMsg , typename THandler > | |
| constexpr bool | comms::dispatchMsgIsStaticBinSearch () |
| Compile time check whether the dispatchMsg() will use "static binary search" dispatch for provided tuple of messages and handler. | |
| template<typename TAllMessages , typename TMsg , typename THandler > | |
| constexpr bool | comms::dispatchMsgIsStaticBinSearch (TMsg &&msg, THandler &&handler) |
| Similar to other dispatchMsgIsStaticBinSearch(), but can help in deducing template arguments. | |
| template<typename TAllMessages , typename TId , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsgLinearSwitch (TId &&id, std::size_t index, TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using linear switch behavior. | |
| template<typename TAllMessages , typename TId , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsgLinearSwitch (TId &&id, TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using linear switch behavior. | |
| template<typename TAllMessages , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsgLinearSwitch (TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using linear switch behavior. | |
| template<typename TAllMessages , typename TId , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsgPolymorphic (TId &&id, std::size_t index, TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using polymorphic behavior. | |
| template<typename TAllMessages , typename TId , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsgPolymorphic (TId &&id, TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using polymorphic behavior. | |
| template<typename TAllMessages , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsgPolymorphic (TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using polymorphic behavior. | |
| template<typename TAllMessages , typename TId , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsgStaticBinSearch (TId &&id, std::size_t index, TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using static binary search behavior. | |
| template<typename TAllMessages , typename TId , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsgStaticBinSearch (TId &&id, TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using static binary search behavior. | |
| template<typename TAllMessages , typename TMsg , typename THandler > | |
| auto | comms::dispatchMsgStaticBinSearch (TMsg &msg, THandler &handler) -> details::MessageInterfaceDispatchRetType< typename std::decay< decltype(handler)>::type > |
| Dispatch message object into appropriate handle() function in the provided handler using static binary search behavior. | |
| template<typename TAllMessages , typename TId , typename THandler > | |
| bool | comms::dispatchMsgType (TId &&id, std::size_t index, THandler &handler) |
| Dispatch message id into appropriate handle() function in the provided handler using either "polymorphic" or "static binary search" behavior. | |
| template<typename TAllMessages , typename TId , typename THandler > | |
| bool | comms::dispatchMsgType (TId &&id, THandler &handler) |
| Dispatch message id into appropriate handle() function in the provided handler using either "polymorphic" or "static binary search" behavior. | |
| template<typename TAllMessages , typename TId > | |
| std::size_t | comms::dispatchMsgTypeCountStaticBinSearch (TId &&id) |
| Count number of message types in the provided tuple that have the requested numeric ID. | |
| template<typename TAllMessages > | |
| constexpr bool | comms::dispatchMsgTypeIsPolymorphic () |
| Compile time check whether the dispatchMsgType() will use "polymorphic" dispatch for provided tuple of messages. | |
| template<typename TAllMessages > | |
| constexpr bool | comms::dispatchMsgTypeIsStaticBinSearch () |
| Compile time check whether the dispatchMsgType() or dispatchMsgType() will use "static binary search" dispatch for provided tuple of messages. | |
| template<typename TAllMessages , typename TId , typename THandler > | |
| bool | comms::dispatchMsgTypeLinearSwitch (TId &&id, std::size_t index, THandler &handler) |
| Dispatch message id into appropriate handle() function in the provided handler using linear switch behavior. | |
| template<typename TAllMessages , typename TId , typename THandler > | |
| bool | comms::dispatchMsgTypeLinearSwitch (TId &&id, THandler &handler) |
| Dispatch message id into appropriate handle() function in the provided handler using linear switch behavior. | |
| template<typename TAllMessages , typename TId , typename THandler > | |
| bool | comms::dispatchMsgTypePolymorphic (TId &&id, std::size_t index, THandler &handler) |
| Dispatch message id into appropriate handle() function in the provided handler using polymorphic behavior. | |
| template<typename TAllMessages , typename TId , typename THandler > | |
| bool | comms::dispatchMsgTypePolymorphic (TId &&id, THandler &handler) |
| Dispatch message id into appropriate handle() function in the provided handler using polymorphic behavior. | |
| template<typename TAllMessages , typename TId , typename THandler > | |
| bool | comms::dispatchMsgTypeStaticBinSearch (TId &&id, std::size_t index, THandler &handler) |
| Dispatch message id into appropriate handle() function in the provided handler using static binary search behavior. | |
| template<typename TAllMessages , typename TId , typename THandler > | |
| bool | comms::dispatchMsgTypeStaticBinSearch (TId &&id, THandler &handler) |
| Dispatch message id into appropriate handle() function in the provided handler using static binary search behavior. | |
Contains extra logic to help with dispatching message types and objects.