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