libgrape-lite
A C++ library for parallel graph processing
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Types | List of all members
grape::BasicFragmentLoaderBase< FRAG_T > Class Template Referenceabstract
Inheritance diagram for grape::BasicFragmentLoaderBase< FRAG_T >:
grape::BasicEFileFragmentLoader< FRAG_T > grape::BasicFragmentLoader< FRAG_T > grape::BasicLocalFragmentLoader< FRAG_T > grape::BasicRbFragmentLoader< FRAG_T >

Public Member Functions

 BasicFragmentLoaderBase (const CommSpec &comm_spec, const LoadGraphSpec &spec)
 
virtual void AddVertex (const oid_t &id, const vdata_t &data)=0
 
virtual void ConstructVertices ()=0
 
virtual void AddEdge (const oid_t &src, const oid_t &dst, const edata_t &data)=0
 
virtual void ConstructFragment (std::shared_ptr< fragment_t > &fragment)=0
 

Protected Member Functions

void InitOuterVertexData (std::shared_ptr< fragment_t > fragment)
 
void ShuffleVertex (const std::vector< oid_t > &added_vertices_id, std::vector< std::vector< oid_t >> &local_vertices_id, const IPartitioner< oid_t > &partitioner)
 
void ShuffleVertexData (const std::vector< oid_t > &added_vertices_id, const std::vector< vdata_t > &added_vertices_data, std::vector< std::vector< oid_t >> &local_vertices_id, std::vector< std::vector< vdata_t >> &local_vertices_data, const IPartitioner< oid_t > &partitioner)
 

Protected Attributes

CommSpec comm_spec_
 
LoadGraphSpec spec_
 
IdParser< vid_t > id_parser_
 

Static Protected Attributes

static constexpr int vertex_tag = 5
 
static constexpr int edge_tag = 6
 

Private Types

using fragment_t = FRAG_T
 
using oid_t = typename fragment_t::oid_t
 
using vid_t = typename fragment_t::vid_t
 
using vdata_t = typename fragment_t::vdata_t
 
using edata_t = typename fragment_t::edata_t
 
using internal_oid_t = typename InternalOID< oid_t >::type