template<reinvoke_behavior ReinvokeBehavior, class Graph, class VertexOp, class Frontier, class Predicate = kla_detail::false_predicate>
class stapl::kla_detail::vertex_operator_apply< ReinvokeBehavior, Graph, VertexOp, Frontier, Predicate >
Work function to wrap the user provided vertex-operator.
The work function is applied on a vertex if the vertex is active. Active vertices may perform some computation and update their values, and may visit their neighboring vertices with the user provided neighbor-operator. Returns true if vertex was active (i.e. the user's work function returned true), false otherwise.
This is a facade for
- See also
- vertex_operator_apply_base that does not provide the hub avoidance optimization.
- Template Parameters
-
ReinvokeBehavior | Flag used to determine under which conditions a vertex operator would be reinvoked from the neighbor operator |
Graph | Type of the input graph view. |
VertexOp | Type of the user provided work function. |
Frontier | The type of the frontier |
Predicate | Predicate function which recieves a vertex and is used to check whether to terminate. |