tbb::flow::interface11::internal::untyped_sender Class Referenceabstract

`#include <flow_graph.h>`

Inheritance diagram for tbb::flow::interface11::internal::untyped_sender:
Collaboration diagram for tbb::flow::interface11::internal::untyped_sender:

## Public Types

typedef untyped_receiver | successor_type
| The successor type for this node. More...

## Public Member Functions

virtual | ~untyped_sender ()
virtual bool | register_successor (successor_type &r)=0
| Add a new successor to this node. More...
virtual bool | remove_successor (successor_type &r)=0
| Removes a successor from this node. More...
virtual bool | try_release ()
| Releases the reserved item. More...
virtual bool | try_consume ()
| Consumes the reserved item. More...

## Protected Member Functions

template<typename X >
bool | try_get (X &t)
| Request an item from the sender. More...
template<typename X >
bool | try_reserve (X &t)
| Reserves an item in the sender. More...
virtual bool | try_get_wrapper (void *p, bool is_async)=0
virtual bool | try_reserve_wrapper (void *p, bool is_async)=0

## Friends

template<typename , typename >
class | internal::predecessor_cache
template<typename , typename >
class | internal::reservable_predecessor_cache

## Detailed Description

Definition at line 306 of file flow_graph.h.

## Member Typedef Documentation

## successor_type

typedef untyped_receiver tbb::flow::interface11::internal::untyped_sender::successor_type

The successor type for this node.

Definition at line 311 of file flow_graph.h.

## Constructor & Destructor Documentation

## ~untyped_sender()

virtual tbb::flow::interface11::internal::untyped_sender::~untyped_sender | ( |  | ) |

inline virtual

Definition at line 313 of file flow_graph.h.

{}

## Member Function Documentation

## register_successor()

virtual bool tbb::flow::interface11::internal::untyped_sender::register_successor | ( | successor_type & | r | ) |

pure virtual

Add a new successor to this node.

Implemented in tbb::flow::interface11::overwrite_node< T >, internal::function_output< Output >, tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >, tbb::flow::interface11::limiter_node< T, DecrementType >, tbb::flow::interface11::buffer_node< T, Allocator >, tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >, tbb::flow::interface11::broadcast_node< T >, tbb::flow::interface11::source_node< Output >, and tbb::flow::interface11::input_node< Output >.

## remove_successor()

virtual bool tbb::flow::interface11::internal::untyped_sender::remove_successor | ( | successor_type & | r | ) |

pure virtual

Removes a successor from this node.

Implemented in tbb::flow::interface11::overwrite_node< T >, internal::function_output< Output >, tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >, tbb::flow::interface11::limiter_node< T, DecrementType >, tbb::flow::interface11::buffer_node< T, Allocator >, tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >, tbb::flow::interface11::broadcast_node< T >, tbb::flow::interface11::source_node< Output >, and tbb::flow::interface11::input_node< Output >.

## try_consume()

virtual bool tbb::flow::interface11::internal::untyped_sender::try_consume | ( |  | ) |

inline virtual

Consumes the reserved item.

Reimplemented in tbb::flow::interface11::overwrite_node< T >, tbb::flow::interface11::buffer_node< T, Allocator >, tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >, tbb::flow::interface11::source_node< Output >, and tbb::flow::interface11::input_node< Output >.

Definition at line 329 of file flow_graph.h.

{ return false; }

## try_get()

template<typename X >

bool tbb::flow::interface11::internal::untyped_sender::try_get | ( | X & | t | ) |

inline protected

Request an item from the sender.

Definition at line 344 of file flow_graph.h.

{
return try_get_wrapper( internal::async_helpers<X>::to_void_ptr(t), internal::async_helpers<X>::is_async_type );
}
tbb::flow::interface11::internal::async_helpers::to_void_ptr
static const void * to_void_ptr(const T &t)
Definition: flow_graph.h:229
tbb::flow::interface11::internal::async_helpers::is_async_type
static const bool is_async_type
Definition: flow_graph.h:227
tbb::flow::interface11::internal::untyped_sender::try_get_wrapper
virtual bool try_get_wrapper(void *p, bool is_async)=0

References try_get_wrapper().

Here is the call graph for this function:

## try_get_wrapper()

virtual bool tbb::flow::interface11::internal::untyped_sender::try_get_wrapper | ( | void * | p,
|  | bool | is_async
| ) |  |

protected pure virtual

Implemented in tbb::flow::interface11::sender< T >, and tbb::flow::interface11::sender< Output >.

Referenced by try_get().

Here is the caller graph for this function:

## try_release()

virtual bool tbb::flow::interface11::internal::untyped_sender::try_release | ( |  | ) |

inline virtual

Releases the reserved item.

Reimplemented in tbb::flow::interface11::overwrite_node< T >, tbb::flow::interface11::buffer_node< T, Allocator >, tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >, tbb::flow::interface11::source_node< Output >, and tbb::flow::interface11::input_node< Output >.

Definition at line 326 of file flow_graph.h.

{ return false; }

## try_reserve()

template<typename X >

bool tbb::flow::interface11::internal::untyped_sender::try_reserve | ( | X & | t | ) |

inline protected

Reserves an item in the sender.

Definition at line 350 of file flow_graph.h.

{
return try_reserve_wrapper( internal::async_helpers<X>::to_void_ptr(t), internal::async_helpers<X>::is_async_type );
}
tbb::flow::interface11::internal::untyped_sender::try_reserve_wrapper
virtual bool try_reserve_wrapper(void *p, bool is_async)=0

References try_reserve_wrapper().

Here is the call graph for this function:

## try_reserve_wrapper()

virtual bool tbb::flow::interface11::internal::untyped_sender::try_reserve_wrapper | ( | void * | p,
|  | bool | is_async
| ) |  |

protected pure virtual

Implemented in tbb::flow::interface11::sender< T >, and tbb::flow::interface11::sender< Output >.

Referenced by try_reserve().

Here is the caller graph for this function:

## Friends And Related Function Documentation

## internal::predecessor_cache

template<typename , typename >

friend class internal::predecessor_cache

friend

Definition at line 307 of file flow_graph.h.

## internal::reservable_predecessor_cache

template<typename , typename >

friend class internal::reservable_predecessor_cache

friend

Definition at line 308 of file flow_graph.h.

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

- flow_graph.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.