internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type > Class Template Reference

`#include <_flow_graph_body_impl.h>`

Inheritance diagram for internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >:
Collaboration diagram for internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >:

## Public Member Functions

| decrementer ()
void | set_owner (T *node)

## Protected Member Functions

task * | try_put_task (const DecrementType &value) __TBB_override
graph & | graph_reference () const __TBB_override
void | reset_receiver (reset_flags f) __TBB_override

## Private Attributes

T * | my_node

## Friends

template<typename U , typename V >
class | tbb::flow::interface11::limiter_node

## Additional Inherited Members

Private Member Functions inherited from tbb::internal::no_copy
| no_copy (const no_copy &)=delete
| no_copy ()=default

## Detailed Description

### template<typename T, typename DecrementType>
class internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >

Definition at line 405 of file _flow_graph_body_impl.h.

## Constructor & Destructor Documentation

## decrementer()

template<typename T , typename DecrementType >

internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >::decrementer | ( |  | ) |

inline

Definition at line 437 of file _flow_graph_body_impl.h.

: my_node(NULL) {}
internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >::my_node
T * my_node
Definition: _flow_graph_body_impl.h:409

## Member Function Documentation

## graph_reference()

template<typename T , typename DecrementType >

graph& internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >::graph_reference | ( |  | ) | const

inline protected

Definition at line 419 of file _flow_graph_body_impl.h.

{
return my_node->my_graph;
}

## reset_receiver()

template<typename T , typename DecrementType >

void internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >::reset_receiver | ( | reset_flags | f | ) |

inline protected

Definition at line 424 of file _flow_graph_body_impl.h.

{
#if TBB_DEPRECATED_FLOW_NODE_EXTRACTION
if (f & rf_clear_edges)
my_built_predecessors.clear();
#else
tbb::internal::suppress_unused_warning( f );
#endif
}
tbb::internal::suppress_unused_warning
void suppress_unused_warning(const T1 &)
Utility template function to prevent "unused" warnings by various compilers.
Definition: tbb_stddef.h:398
tbb::flow::interface11::rf_clear_edges
@ rf_clear_edges
Definition: _flow_graph_impl.h:161

References tbb::flow::interface11::rf_clear_edges, and tbb::internal::suppress_unused_warning().

Here is the call graph for this function:

## set_owner()

template<typename T , typename DecrementType >

void internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >::set_owner | ( | T * | node | ) |

inline

Definition at line 438 of file _flow_graph_body_impl.h.

{ my_node = node; }

## try_put_task()

template<typename T , typename DecrementType >

task* internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >::try_put_task | ( | const DecrementType & | value | ) |

inline protected

Definition at line 412 of file _flow_graph_body_impl.h.

{
task* result = my_node->decrement_counter( value );
if( !result )
result = SUCCESSFULLY_ENQUEUED;
return result;
}
task
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 * task
Definition: ittnotify_static.h:119
value
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
Definition: ittnotify_static.h:192
tbb::flow::internal::SUCCESSFULLY_ENQUEUED
static tbb::task *const SUCCESSFULLY_ENQUEUED
Definition: _flow_graph_impl.h:61

References tbb::flow::internal::SUCCESSFULLY_ENQUEUED, task, and value.

## Friends And Related Function Documentation

## tbb::flow::interface11::limiter_node

template<typename T , typename DecrementType >
template<typename U , typename V >

friend class tbb::flow::interface11::limiter_node

friend

Definition at line 423 of file _flow_graph_body_impl.h.

## Member Data Documentation

## my_node

template<typename T , typename DecrementType >

T* internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >::my_node

private

Definition at line 409 of file _flow_graph_body_impl.h.

The documentation for this class was generated from the following file:

- _flow_graph_body_impl.h

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.