libgrape-lite
A C++ library for parallel graph processing
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
grape::ImmutableCSR< VID_T, NBR_T > Class Template Reference

Public Types

using vid_t = VID_T
 
using nbr_t = NBR_T
 
using vertex_range_t = VertexRange< VID_T >
 

Public Member Functions

VID_T vertex_num () const
 
bool empty () const
 
size_t edge_num () const
 
int degree (VID_T i) const
 
bool is_empty (VID_T i) const
 
nbr_t * get_begin (VID_T i)
 
const nbr_t * get_begin (VID_T i) const
 
nbr_t * get_end (VID_T i)
 
const nbr_t * get_end (VID_T i) const
 
Array< nbr_t, Allocator< nbr_t > > const & get_edges ()
 
Array< nbr_t *, Allocator< nbr_t * > > const & get_offsets ()
 
Array< nbr_t, Allocator< nbr_t > > & get_edges_mut ()
 
Array< nbr_t *, Allocator< nbr_t * > > & get_offsets_mut ()
 
size_t memory_usage () const
 
template<typename IOADAPTOR_T >
void Serialize (std::unique_ptr< IOADAPTOR_T > &writer)
 
template<typename IOADAPTOR_T >
void Deserialize (std::unique_ptr< IOADAPTOR_T > &reader)
 

Private Attributes

Array< nbr_t, Allocator< nbr_t > > edges_
 
Array< nbr_t *, Allocator< nbr_t * > > offsets_
 

Friends

template<typename _VID_T , typename _EDATA_T >
class ImmutableCSRBuilder
 
template<typename _VID_T , typename _EDATA_T >
class ImmutableCSRParallelBuilder
 
template<typename _VID_T , typename _EDATA_T >
class ImmutableCSRStreamBuilder