internal::decrementer< T, continue_msg, void > Class Template Reference

`#include <_flow_graph_body_impl.h>`

Inheritance diagram for internal::decrementer< T, continue_msg, void >:
Collaboration diagram for internal::decrementer< T, continue_msg, void >:

## Public Types

typedef continue_msg | input_type
typedef continue_msg | output_type

## Public Member Functions

| decrementer (int number_of_predecessors=0)
void | set_owner (T *node)

## Protected Member Functions

graph & | graph_reference () const __TBB_override

## Private Member Functions

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

## Private Attributes

T * | my_node

## Detailed Description

### template<typename T>
class internal::decrementer< T, continue_msg, void >

Definition at line 474 of file _flow_graph_body_impl.h.

## Member Typedef Documentation

## input_type

template<typename T >

typedef continue_msg internal::decrementer< T, continue_msg, void >::input_type

Definition at line 490 of file _flow_graph_body_impl.h.

## output_type

template<typename T >

typedef continue_msg internal::decrementer< T, continue_msg, void >::output_type

Definition at line 491 of file _flow_graph_body_impl.h.

## Constructor & Destructor Documentation

## decrementer()

template<typename T >

internal::decrementer< T, continue_msg, void >::decrementer | ( | int | number_of_predecessors = `0` | ) |

inline

Definition at line 492 of file _flow_graph_body_impl.h.

: continue_receiver(
__TBB_FLOW_GRAPH_PRIORITY_ARG1(number_of_predecessors, tbb::flow::internal::no_priority)
)
// Since decrementer does not make use of possibly unconstructed owner inside its
// constructor, my_node can be directly initialized with 'this' pointer passed from the
// owner, hence making method 'set_owner' needless.
, my_node(NULL)
{}
__TBB_FLOW_GRAPH_PRIORITY_ARG1
#define __TBB_FLOW_GRAPH_PRIORITY_ARG1(arg1, priority)
Definition: _flow_graph_impl.h:40
tbb::flow::internal::no_priority
static const node_priority_t no_priority
Definition: _flow_graph_impl.h:64
internal::decrementer< T, continue_msg, void >::my_node
T * my_node
Definition: _flow_graph_body_impl.h:476

## Member Function Documentation

## execute()

template<typename T >

task* internal::decrementer< T, continue_msg, void >::execute | ( |  | ) |

inline private

Definition at line 478 of file _flow_graph_body_impl.h.

{
return my_node->decrement_counter( 1 );
}

## graph_reference()

template<typename T >

graph& internal::decrementer< T, continue_msg, void >::graph_reference | ( |  | ) | const

inline protected

Definition at line 484 of file _flow_graph_body_impl.h.

{
return my_node->my_graph;
}

## set_owner()

template<typename T >

void internal::decrementer< T, continue_msg, void >::set_owner | ( | T * | node | ) |

inline

Definition at line 501 of file _flow_graph_body_impl.h.

{ my_node = node; }

## Member Data Documentation

## my_node

template<typename T >

T* internal::decrementer< T, continue_msg, void >::my_node

private

Definition at line 476 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.