Template Function ripple::detail::add_padding_op_nodes_for_iter¶
Defined in File utils_.hpp
Function Documentation¶
-
template<typename
GraphType
, typenameIterator
>
autoripple::detail
::
add_padding_op_nodes_for_iter
(GraphType &graph, ExecutionKind exec_kind, TransferKind transfer_kind, Iterator &&it, bool is_exclusive) noexcept -> void¶ Adds nodes for padding operations to the graph based off the iterator.
If the is_exclusive parameter is true, then friend nodes are added to the resulting node in the graph so that subsequent operations on the new node wont run until the friend nodes in the same level finish (i.e so that this nodethe friend finishes its copy bofore any other nodes run, so it make a stricter dependency in the graph).
- Note
If the iterator iterates over a non-block enabled type then no node is added to the graph.
- Parameters
graph
: The graph to add the node to.exec_kind
: The kind of execution for the node.transfer_kind
: The kind of the transfer operation.it
: The iterator to add a node for.is_exclusive
: If data requires exclusive access (i.e is written to).
- Template Parameters
GraphType
: The type of the graph.Iterator
: The type of the iterator.