graph¶
[flow_graph.graph]
Class that serves as a handle to a flow graph of nodes and edges.
// Defined in header <oneapi/tbb/flow_graph.h>
namespace oneapi {
namespace tbb {
namespace flow {
class graph {
public:
graph();
graph(task_group_context& context);
~graph();
void wait_for_all();
void reset(reset_flags f = rf_reset_protocol);
void cancel();
bool is_cancelled();
bool exception_thrown();
};
} // namespace flow
} // namespace tbb
} // namespace oneapi
reset_flags enumeration¶
Member functions¶
-
graph(task_group_context &context)¶
Constructs a graph with no nodes. If
context
is specified, the graph tasks are executed in this context. By default, the graph is executed in a bound context of its own.
-
~graph()¶
Calls
wait_for_all()
on the graph, then destroys the graph.
-
void wait_for_all()¶
Blocks execution until all tasks associated with the graph have completed or cancelled.
-
void reset(reset_flags f = rf_reset_protocol)¶
Resets the graph according to the specified flags. Flags to
reset()
can be combined with bitwise-or
.Note
reset()
is a thread-unsafe operation, don’t call it concurrently.
-
void cancel()¶
Cancels all tasks in the graph.
-
bool is_cancelled()¶
Returns:
true
if the graph was cancelled during the last call towait_for_all()
;false
, otherwise.
-
bool exception_thrown()¶
Returns:
true
if during the last call towait_for_all()
an exception was thrown;false
, otherwise.