libgrape-lite
A C++ library for parallel graph processing
Public Member Functions | Private Types | Private Attributes | List of all members
grape::MutationContext< FRAG_T > Class Template Reference
Inheritance diagram for grape::MutationContext< FRAG_T >:
grape::ContextBase

Public Member Functions

 MutationContext (const fragment_t &fragment)
 
void add_vertex (const oid_t &id, const vdata_t &data)
 
void add_edge (const oid_t &src, const oid_t &dst, const edata_t &data)
 
void add_edge (const vertex_t &src, const vertex_t &dst, const edata_t &data)
 
void update_vertex (const oid_t &id, const vdata_t &data)
 
void update_vertex (const vertex_t &v, const vdata_t &data)
 
void update_edge (const oid_t &src, const oid_t &dst, const edata_t &data)
 
void update_edge (const vertex_t &src, const vertex_t &dst, const edata_t &data)
 
void remove_vertex (const oid_t &id)
 
void remove_vertex (const vertex_t &v)
 
void remove_edge (const oid_t &src, const oid_t &dst)
 
void remove_edge (const vertex_t &src, const vertex_t &dst)
 
void apply_mutation (std::shared_ptr< fragment_t > fragment, const CommSpec &comm_spec)
 
- Public Member Functions inherited from grape::ContextBase
virtual void Output (std::ostream &os)
 Output function to implement for result output. More...
 

Private Types

using fragment_t = FRAG_T
 
using oid_t = typename FRAG_T::oid_t
 
using vid_t = typename FRAG_T::vid_t
 
using vdata_t = typename FRAG_T::vdata_t
 
using edata_t = typename FRAG_T::edata_t
 
using vertex_map_t = typename FRAG_T::vertex_map_t
 
using partitioner_t = typename vertex_map_t::partitioner_t
 
using vertex_t = typename FRAG_T::vertex_t
 
using oid_list = typename ShuffleBuffer< oid_t >::type
 
using vid_list = typename ShuffleBuffer< vid_t >::type
 
using vdata_list = typename ShuffleBuffer< vdata_t >::type
 
using edata_list = typename ShuffleBuffer< edata_t >::type
 

Private Attributes

const fragment_t & fragment_
 
const std::shared_ptr< vertex_map_t > vm_ptr_
 
const partitioner_t & partitioner_
 
std::vector< oid_list > id_to_add_
 
std::vector< vdata_list > vdata_to_add_
 
std::vector< oid_list > esrc_to_add_
 
std::vector< oid_list > edst_to_add_
 
std::vector< edata_list > edata_to_add_
 
std::vector< internal::Vertex< vid_t, vdata_t > > parsed_vertices_to_update_
 
std::vector< oid_list > id_to_update_
 
std::vector< vdata_list > vdata_to_update_
 
std::vector< oid_list > esrc_to_update_
 
std::vector< oid_list > edst_to_update_
 
std::vector< edata_list > edata_to_update_
 
std::vector< vid_t > parsed_vid_to_remove_
 
std::vector< oid_list > id_to_remove_
 
std::vector< oid_list > esrc_to_remove_
 
std::vector< oid_list > edst_to_remove_