GraphChi  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Macros
Public Types | Public Member Functions
graphlab::ivertex_program< Graph, GatherType, MessageType > Struct Template Reference

List of all members.

Public Types

typedef Graph::vertex_data_type vertex_data_type
typedef Graph::edge_data_type edge_data_type
typedef GatherType gather_type
typedef MessageType message_type
typedef Graph graph_type
typedef graphchi::vid_t vertex_id_type
typedef GraphLabVertexWrapper
< vertex_data_type,
edge_data_type > 
vertex_type
typedef GraphLabEdgeWrapper
< vertex_data_type,
edge_data_type > 
edge_type
typedef icontext< graph_type,
gather_type, message_type > 
icontext_type
typedef graphlab::edge_dir_type edge_dir_type

Public Member Functions

virtual void init (icontext_type &context, const vertex_type &vertex, const message_type &msg)
virtual edge_dir_type gather_edges (icontext_type &context, const vertex_type &vertex) const
virtual gather_type gather (icontext_type &context, const vertex_type &vertex, edge_type &edge) const
virtual void apply (icontext_type &context, vertex_type &vertex, const gather_type &total)=0
virtual edge_dir_type scatter_edges (icontext_type &context, const vertex_type &vertex) const
virtual void scatter (icontext_type &context, const vertex_type &vertex, edge_type &edge) const

Member Function Documentation

template<typename Graph, typename GatherType, typename MessageType = bool>
virtual void graphlab::ivertex_program< Graph, GatherType, MessageType >::apply ( icontext_type context,
vertex_type vertex,
const gather_type &  total 
)
pure virtual

The apply function is called once the gather has completed and must be implemented by all vertex programs.

Implemented in als_vertex_program.

template<typename Graph, typename GatherType, typename MessageType = bool>
virtual gather_type graphlab::ivertex_program< Graph, GatherType, MessageType >::gather ( icontext_type context,
const vertex_type vertex,
edge_type edge 
) const
inlinevirtual

Gather is called on all gather_edges() in parallel and returns the gather_type which are added to compute the final output of the gather.

Reimplemented in als_vertex_program.

template<typename Graph, typename GatherType, typename MessageType = bool>
virtual edge_dir_type graphlab::ivertex_program< Graph, GatherType, MessageType >::gather_edges ( icontext_type context,
const vertex_type vertex 
) const
inlinevirtual

Returns the set of edges on which to run the gather function. The default edge direction is the in edges.

Reimplemented in als_vertex_program.

template<typename Graph, typename GatherType, typename MessageType = bool>
virtual void graphlab::ivertex_program< Graph, GatherType, MessageType >::init ( icontext_type context,
const vertex_type vertex,
const message_type &  msg 
)
inlinevirtual

NOP

template<typename Graph, typename GatherType, typename MessageType = bool>
virtual void graphlab::ivertex_program< Graph, GatherType, MessageType >::scatter ( icontext_type context,
const vertex_type vertex,
edge_type edge 
) const
inlinevirtual

Scatter is called on all scatter_edges() in parallel after the apply function has completed. The scatter function can post deltas.

Reimplemented in als_vertex_program.

template<typename Graph, typename GatherType, typename MessageType = bool>
virtual edge_dir_type graphlab::ivertex_program< Graph, GatherType, MessageType >::scatter_edges ( icontext_type context,
const vertex_type vertex 
) const
inlinevirtual

Returns the set of edges on which to run the scatter function. The default edge direction is the out edges.

Reimplemented in als_vertex_program.


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