Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
The graph related classes and functions. More...
#include "internal/_warning_suppress_enable_notice.h"
#include "tbb_stddef.h"
#include "atomic.h"
#include "spin_mutex.h"
#include "null_mutex.h"
#include "spin_rw_mutex.h"
#include "null_rw_mutex.h"
#include "task.h"
#include "cache_aligned_allocator.h"
#include "tbb_exception.h"
#include "pipeline.h"
#include "internal/_template_helpers.h"
#include "internal/_aggregator_impl.h"
#include "tbb/internal/_allocator_traits.h"
#include "tbb_profiling.h"
#include "task_arena.h"
#include <vector>
#include <memory>
#include <array>
#include <unordered_map>
#include <type_traits>
#include <tuple>
#include <list>
#include <queue>
#include "internal/_flow_graph_impl.h"
#include "internal/_flow_graph_trace_impl.h"
#include "internal/_tbb_hash_compare_impl.h"
#include "internal/_flow_graph_body_impl.h"
#include "internal/_flow_graph_cache_impl.h"
#include "internal/_flow_graph_types_impl.h"
#include "internal/_flow_graph_async_msg_impl.h"
#include "internal/_flow_graph_node_impl.h"
#include "internal/_flow_graph_join_impl.h"
#include "internal/_flow_graph_indexer_impl.h"
#include "internal/_flow_graph_streaming_node.h"
#include "internal/_flow_graph_node_set_impl.h"
#include "internal/_flow_graph_nodes_deduction.h"
#include "internal/_warning_suppress_disable_notice.h"
Go to the source code of this file.
Namespaces | |
tbb | |
The graph class. | |
tbb::flow | |
tbb::flow::interface11 | |
tbb::flow::interface11::internal | |
tbb::flow::interface10 | |
Macros | |
#define | __TBB_flow_graph_H_include_area |
#define | __TBB_NOINLINE_SYM |
#define | FLOW_SPAWN(a) tbb::task::spawn((a)) |
#define | __TBB_DEFAULT_NODE_ALLOCATOR(T) null_type |
Enumerations | |
enum | tbb::flow::concurrency { tbb::flow::unlimited = 0 , tbb::flow::serial = 1 } |
An enumeration the provides the two most common concurrency levels: unlimited and serial. More... | |
Functions | |
static tbb::task * | tbb::flow::interface11::combine_tasks (graph &g, tbb::task *left, tbb::task *right) |
template<typename K , typename T > | |
K | tbb::flow::key_from_message (const T &t) |
void | tbb::flow::interface11::internal_make_edge (internal::untyped_sender &p, internal::untyped_receiver &s) |
template<typename T > | |
void | tbb::flow::interface11::make_edge (sender< T > &p, receiver< T > &s) |
Makes an edge between a single predecessor and a single successor. More... | |
template<typename TS , typename TR , typename = typename tbb::internal::enable_if<tbb::internal::is_same_type<TS, internal::untyped_sender>::value || tbb::internal::is_same_type<TR, internal::untyped_receiver>::value>::type> | |
void | tbb::flow::interface11::make_edge (TS &p, TR &s) |
template<typename T > | |
void | tbb::flow::interface11::make_edge (sender< T > &p, receiver< typename T::async_msg_data_type > &s) |
template<typename T > | |
void | tbb::flow::interface11::make_edge (sender< typename T::async_msg_data_type > &p, receiver< T > &s) |
template<typename T , typename V , typename = typename T::output_ports_type, typename = typename V::input_ports_type> | |
void | tbb::flow::interface11::make_edge (T &output, V &input) |
template<typename T , typename R , typename = typename T::output_ports_type> | |
void | tbb::flow::interface11::make_edge (T &output, receiver< R > &input) |
template<typename S , typename V , typename = typename V::input_ports_type> | |
void | tbb::flow::interface11::make_edge (sender< S > &output, V &input) |
void | tbb::flow::interface11::internal_remove_edge (internal::untyped_sender &p, internal::untyped_receiver &s) |
template<typename T > | |
void | tbb::flow::interface11::remove_edge (sender< T > &p, receiver< T > &s) |
Removes an edge between a single predecessor and a single successor. More... | |
template<typename TS , typename TR , typename = typename tbb::internal::enable_if<tbb::internal::is_same_type<TS, internal::untyped_sender>::value || tbb::internal::is_same_type<TR, internal::untyped_receiver>::value>::type> | |
void | tbb::flow::interface11::remove_edge (TS &p, TR &s) |
template<typename T > | |
void | tbb::flow::interface11::remove_edge (sender< T > &p, receiver< typename T::async_msg_data_type > &s) |
template<typename T > | |
void | tbb::flow::interface11::remove_edge (sender< typename T::async_msg_data_type > &p, receiver< T > &s) |
template<typename T , typename V , typename = typename T::output_ports_type, typename = typename V::input_ports_type> | |
void | tbb::flow::interface11::remove_edge (T &output, V &input) |
template<typename T , typename R , typename = typename T::output_ports_type> | |
void | tbb::flow::interface11::remove_edge (T &output, receiver< R > &input) |
template<typename S , typename V , typename = typename V::input_ports_type> | |
void | tbb::flow::interface11::remove_edge (sender< S > &output, V &input) |
template<typename Body , typename Node > | |
Body | tbb::flow::interface11::copy_body (Node &n) |
Returns a copy of the body from a function or continue node. More... | |
Variables | |
template<typename T > | |
class __TBB_DEPRECATED | tbb::flow::interface11::async_msg |
The graph related classes and functions.
There are some applications that best express dependencies as messages passed between nodes in a graph. These messages may contain data or simply act as signals that a predecessors has completed. The graph class and its associated node classes can be used to express such applications.
Definition in file flow_graph.h.
#define __TBB_DEFAULT_NODE_ALLOCATOR | ( | T | ) | null_type |
Definition at line 71 of file flow_graph.h.
#define __TBB_flow_graph_H_include_area |
Definition at line 20 of file flow_graph.h.
#define __TBB_NOINLINE_SYM |
Definition at line 47 of file flow_graph.h.
#define FLOW_SPAWN | ( | a | ) | tbb::task::spawn((a)) |
Definition at line 65 of file flow_graph.h.