|
class | Concurrency::details::_Runtime_object |
|
class | Concurrency::details::_Queue< _Message > |
|
class | Concurrency::details::_Dynamic_array< _Type > |
|
class | Concurrency::ISource< _Type > |
| The ISource class is the interface for all source blocks. Source blocks propagate messages to ITarget blocks. More...
|
|
class | Concurrency::ITarget< _Type > |
| The ITarget class is the interface for all target blocks. Target blocks consume messages offered to them by ISource blocks. More...
|
|
class | Concurrency::network_link_registry< _Block > |
| The network_link_registry abstract base class manages the links between source and target blocks. More...
|
|
class | Concurrency::_Network_link_iterator< _Block > |
| Const iterator for network link registry. Message blocks should use the link_registry::iterator type for iteration. More...
|
|
class | Concurrency::network_link_registry< _Block > |
| The network_link_registry abstract base class manages the links between source and target blocks. More...
|
|
class | Concurrency::single_link_registry< _Block > |
| The single_link_registry object is a network_link_registry that manages only a single source or target block. More...
|
|
class | Concurrency::multi_link_registry< _Block > |
| The multi_link_registry object is a network_link_registry that manages multiple source blocks or multiple target blocks. More...
|
|
class | Concurrency::source_link_manager< _LinkRegistry > |
| The source_link_manager object manages messaging block network links to ISource blocks. More...
|
|
class | Concurrency::_Source_link_iterator< _LinkRegistry > |
| Const Iterator for referenced link manager. More...
|
|
class | Concurrency::source_link_manager< _LinkRegistry > |
| The source_link_manager object manages messaging block network links to ISource blocks. More...
|
|
class | Concurrency::message< _Type > |
| The basic message envelope containing the data payload being passed between messaging blocks. More...
|
|
class | Concurrency::message_processor< _Type > |
| The message_processor class is the abstract base class for processing of message objects. There is no guarantee on the ordering of the messages. More...
|
|
class | Concurrency::ordered_message_processor< _Type > |
| An ordered_message_processor is a message_processor that allows message blocks to process messages in the order they were received. More...
|
|
class | Concurrency::ITarget< _Type > |
| The ITarget class is the interface for all target blocks. Target blocks consume messages offered to them by ISource blocks. More...
|
|
class | Concurrency::ISource< _Type > |
| The ISource class is the interface for all source blocks. Source blocks propagate messages to ITarget blocks. More...
|
|
class | Concurrency::details::_AnonymousOriginator< _Type > |
|
class | Concurrency::details::_SyncOriginator< _Type > |
|
class | Concurrency::details::_AsyncOriginator< _Type > |
|
class | Concurrency::details::_Originator |
|
class | Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType > |
| The target_block class is an abstract base class that provides basic link management functionality and error checking for target only blocks. More...
|
|
class | Concurrency::source_block< _TargetLinkRegistry, _MessageProcessorType > |
| The source_block class is an abstract base class for source-only blocks. The class provides basic link management functionality as well as common error checks. More...
|
|
class | Concurrency::propagator_block< _TargetLinkRegistry, _SourceLinkRegistry, _MessageProcessorType > |
| The propagator_block class is an abstract base class for message blocks that are both a source and target. It combines the functionality of both the source_block and target_block classes. More...
|
|
class | Concurrency::unbounded_buffer< _Type > |
| An unbounded_buffer messaging block is a multi-target, multi-source, ordered propagator_block capable of storing an unbounded number of messages. More...
|
|
class | Concurrency::overwrite_buffer< _Type > |
| An overwrite_buffer messaging block is a multi-target, multi-source, ordered propagator_block capable of storing a single message at a time. New messages overwrite previously held ones. More...
|
|
class | Concurrency::call< _Type, _FunctorType > |
| A call messaging block is a multi-source, ordered target_block that invokes a specified function when receiving a message. More...
|
|
class | Concurrency::transformer< _Input, _Output > |
| A transformer messaging block is a single-target, multi-source, ordered propagator_block which can accept messages of one type and is capable of storing an unbounded number of messages of a different type. More...
|
|
class | Concurrency::timer< _Type > |
| A timer messaging block is a single-target source_block capable of sending a message to its target after a specified time period has elapsed or at specific intervals. More...
|
|
class | Concurrency::single_assignment< _Type > |
| A single_assignment messaging block is a multi-target, multi-source, ordered propagator_block capable of storing a single, write-once message . More...
|
|
class | Concurrency::join< _Type, _Jtype > |
| A join messaging block is a single-target, multi-source, ordered propagator_block which combines together messages of type _Type from each of its sources. More...
|
|
struct | Concurrency::join< _Type, _Jtype >::_MessageArray |
|
struct | Concurrency::join< _Type, _Jtype >::_SavedMessageIdArray |
|
class | Concurrency::_Order_node_base< _Type > |
| Base class for Helper node used in multi-type join and choice blocks Order node is a single-target, single-source ordered propagator block The main property of an order node is that it accepts a message of _Type and outputs a message of int, with some unique assigned index number. More...
|
|
class | Concurrency::_Reserving_node< _Type > |
| Helper class used in multi-type choice blocks Ordered node is a single-target, single-source ordered propagator block More...
|
|
class | Concurrency::_Greedy_node< _Type > |
| Helper class used in multi-type greedy join blocks Ordered node is a single-target, single-source ordered propagator block More...
|
|
class | Concurrency::_Non_greedy_node< _Type > |
| Helper class used in multi-type non-greedy join blocks Ordered node is a single-target, single-source ordered propagator block More...
|
|
class | Concurrency::choice< _Type > |
| A choice messaging block is a multi-source, single-target block that represents a control-flow interaction with a set of sources. The choice block will wait for any one of multiple sources to produce a message and will propagate the index of the source that produced the message. More...
|
|
struct | Concurrency::_Unwrap< _Tuple > |
|
struct | Concurrency::_Unwrap< std::tuple< _Types...> > |
| Template specialization used to unwrap the types from within a tuple. More...
|
|
class | Concurrency::_Join_node< _Type, _Destination_type, _Jtype > |
| Defines a block allowing sources of distinct types to be joined. Join node is a single-target, multi-source ordered propagator block More...
|
|
class | Concurrency::multitype_join< _Type, _Jtype > |
| A multitype_join messaging block is a multi-source, single-target messaging block that combines together messages of different types from each of its sources and offers a tuple of the combined messages to its targets. More...
|
|
class | Concurrency::agent |
| A class intended to be used as a base class for all independent agents. It is used to hide state from other agents and interact using message-passing. More...
|
|
|
template<class _Type > |
__int64 | Concurrency::details::_Trace_agents_get_id (_Type *_PObject) |
|
template<class _Type > |
_Type | Concurrency::_Receive_impl (ISource< _Type > *_Src, unsigned int _Timeout, typename ITarget< _Type >::filter_method const *_Filter_proc) |
| A general receive implementation, allowing a context to wait for data from exactly one source and filter the values that are accepted. If the specified timeout is not COOPERATIVE_TIMEOUT_INFINITE, an exception (operation_timed_out) will be thrown if the specified amount of time expires before a message is received. Note that zero length timeouts should likely use try_receive as opposed to receive with a timeout of zero as it is more efficient and does not throw exceptions on timeouts. More...
|
|
template<class _Type > |
_Type | Concurrency::receive (_Inout_ ISource< _Type > *_Src, unsigned int _Timeout=COOPERATIVE_TIMEOUT_INFINITE) |
| A general receive implementation, allowing a context to wait for data from exactly one source and filter the values that are accepted. More...
|
|
template<class _Type > |
_Type | Concurrency::receive (_Inout_ ISource< _Type > *_Src, typename ITarget< _Type >::filter_method const &_Filter_proc, unsigned int _Timeout=COOPERATIVE_TIMEOUT_INFINITE) |
| A general receive implementation, allowing a context to wait for data from exactly one source and filter the values that are accepted. More...
|
|
template<class _Type > |
_Type | Concurrency::receive (ISource< _Type > &_Src, unsigned int _Timeout=COOPERATIVE_TIMEOUT_INFINITE) |
| A general receive implementation, allowing a context to wait for data from exactly one source and filter the values that are accepted. More...
|
|
template<class _Type > |
_Type | Concurrency::receive (ISource< _Type > &_Src, typename ITarget< _Type >::filter_method const &_Filter_proc, unsigned int _Timeout=COOPERATIVE_TIMEOUT_INFINITE) |
| A general receive implementation, allowing a context to wait for data from exactly one source and filter the values that are accepted. More...
|
|
template<class _Type > |
bool | Concurrency::_Try_receive_impl (ISource< _Type > *_Src, _Type &_value, typename ITarget< _Type >::filter_method const *_Filter_proc) |
| Helper function that implements try_receive A general try-receive implementation, allowing a context to look for data from exactly one source and filter the values that are accepted. If the data is not ready, try_receive will return false. More...
|
|
template<class _Type > |
bool | Concurrency::try_receive (_Inout_ ISource< _Type > *_Src, _Type &_value) |
| A general try-receive implementation, allowing a context to look for data from exactly one source and filter the values that are accepted. If the data is not ready, the method will return false. More...
|
|
template<class _Type > |
bool | Concurrency::try_receive (_Inout_ ISource< _Type > *_Src, _Type &_value, typename ITarget< _Type >::filter_method const &_Filter_proc) |
| A general try-receive implementation, allowing a context to look for data from exactly one source and filter the values that are accepted. If the data is not ready, the method will return false. More...
|
|
template<class _Type > |
bool | Concurrency::try_receive (ISource< _Type > &_Src, _Type &_value) |
| A general try-receive implementation, allowing a context to look for data from exactly one source and filter the values that are accepted. If the data is not ready, the method will return false. More...
|
|
template<class _Type > |
bool | Concurrency::try_receive (ISource< _Type > &_Src, _Type &_value, typename ITarget< _Type >::filter_method const &_Filter_proc) |
| A general try-receive implementation, allowing a context to look for data from exactly one source and filter the values that are accepted. If the data is not ready, the method will return false. More...
|
|
template<class _Type > |
bool | Concurrency::send (_Inout_ ITarget< _Type > *_Trg, const _Type &_Data) |
| A synchronous send operation, which waits until the target either accepts or declines the message. More...
|
|
template<class _Type > |
bool | Concurrency::send (ITarget< _Type > &_Trg, const _Type &_Data) |
| A synchronous send operation, which waits until the target either accepts or declines the message. More...
|
|
template<class _Type > |
bool | Concurrency::asend (_Inout_ ITarget< _Type > *_Trg, const _Type &_Data) |
| An asynchronous send operation, which schedules a task to propagate the data to the target block. More...
|
|
template<class _Type > |
bool | Concurrency::asend (ITarget< _Type > &_Trg, const _Type &_Data) |
| An asynchronous send operation, which schedules a task to propagate the value to the target block. More...
|
|
template<typename _Type1 , typename _Type2 , typename... _Types> |
choice< std::tuple< _Type1, _Type2, _Types...> > | Concurrency::make_choice (_Type1 _Item1, _Type2 _Item2, _Types..._Items) |
| Constructs a choice messaging block from an optional Scheduler or ScheduleGroup and two or more input sources. More...
|
|
template<typename _Type1 , typename _Type2 , typename... _Types> |
multitype_join< std::tuple< _Type1, _Type2, _Types...> > | Concurrency::make_join (_Type1 _Item1, _Type2 _Item2, _Types..._Items) |
| Constructs a non_greedy multitype_join messaging block from an optional Scheduler or ScheduleGroup and two or more input sources. More...
|
|
template<typename _Type1 , typename _Type2 , typename... _Types> |
multitype_join< std::tuple< _Type1, _Type2, _Types...>, greedy > | Concurrency::make_greedy_join (_Type1 _Item1, _Type2 _Item2, _Types..._Items) |
| Constructs a greedy multitype_join messaging block from an optional Scheduler or ScheduleGroup and two or more input sources. More...
|
|
template<class _Type > |
void | Concurrency::Trace_agents_register_name (_Inout_ _Type *_PObject, _In_z_ const wchar_t *_Name) |
| Associates the given name to the message block or agent in the ETW trace. More...
|
|