STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::kla_detail::neighbor_operator_apply_base< VertexOp, NeighborOp, Derived > Class Template Reference

Functor to visit the target vertex with the user provided neighbor-operator. More...

Public Member Functions

 neighbor_operator_apply_base (VertexOp wf, NeighborOp uf)
 
template<typename Graph , typename Vertex >
void operator() (Graph *graph, Vertex &&target) const
 
NeighborOp const & neighbor_op () const
 
VertexOp const & vertex_op () const
 

Public Types

using result_type = void
 

Detailed Description

template<typename VertexOp, typename NeighborOp, typename Derived>
class stapl::kla_detail::neighbor_operator_apply_base< VertexOp, NeighborOp, Derived >

Functor to visit the target vertex with the user provided neighbor-operator.

Implements the KLA visit pattern, which invokes the user's neighbor-operator on the visited vertex and reinvokes the vertex operator if the both the visit was successful and the sufficient propagation condition is met (e.g., the current level is less than the max allowed level for the KLA superstep).

Template Parameters
VertexOpType of the user provided vertex-operator.
NeighborOpType of the user provided neighbor-operator.
DerivedThe derived neighbor operator wrapper which implements the logic for propagation

Constructor & Destructor Documentation

◆ neighbor_operator_apply_base()

template<typename VertexOp, typename NeighborOp, typename Derived>
stapl::kla_detail::neighbor_operator_apply_base< VertexOp, NeighborOp, Derived >::neighbor_operator_apply_base ( VertexOp  wf,
NeighborOp  uf 
)
Parameters
wfA copy of the currently executing vertex_operator_apply, containing information about the current and the max KLA-level of this visit.
ufThe user provided neighbor-operator.

The documentation for this class was generated from the following file: