template<typename... Ports, typename JP, typename StreamFactory>
template<typename UserFunctor>
class streaming_node< tuple< Ports... >, JP, StreamFactory >::device_selector< UserFunctor >
Definition at line 376 of file _flow_graph_streaming_node.h.
template<typename... Ports, typename JP , typename StreamFactory >
template<typename UserFunctor >
template<typename DevicePort >
device_type streaming_node< tuple< Ports... >, JP, StreamFactory >::device_selector< UserFunctor >::get_device |
( |
key_type |
key, |
|
|
DevicePort & |
dp |
|
) |
| |
|
inlineprivate |
Definition at line 426 of file _flow_graph_streaming_node.h.
426 {
427 typename std::unordered_map<typename std::decay<key_type>::type, epoch_desc>::iterator it =
my_devices.find(
key );
430 std::tie( it, std::ignore ) =
my_devices.insert( std::make_pair(
key,
d ) );
431 bool res = dp.try_put( device_with_key_type(
d,
key ) );
434 }
435 epoch_desc &e = it->second;
436 device_type
d = e.my_device;
437 if ( ++e.my_request_number == NUM_INPUTS )
my_devices.erase( it );
439 }
#define __TBB_ASSERT_EX(predicate, comment)
"Extended" version is useful to suppress warnings if a variable is only used with an assert
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle * key
std::unordered_map< typename std::decay< key_type >::type, epoch_desc > my_devices
References __TBB_ASSERT_EX, d, and key.
template<typename... Ports, typename JP , typename StreamFactory >
template<typename UserFunctor >
void streaming_node< tuple< Ports... >, JP, StreamFactory >::device_selector< UserFunctor >::operator() |
( |
const indexer_node_output_type & |
v, |
|
|
typename device_selector_node::output_ports_type & |
op |
|
) |
| |
|
inlinevirtual |
Implements streaming_node< tuple< Ports... >, JP, StreamFactory >::device_selector_base.
Definition at line 385 of file _flow_graph_streaming_node.h.
385 {
388 || my_port_epoches[v.tag()] == 0, "Epoch is changed when key matching is requested" );
389 }
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value
std::false_type is_key_matching
References __TBB_ASSERT, and value.