Flex  0.17.9
Public Types | Public Member Functions | Private Attributes | List of all members
gs::MutableAdjlist< EDATA_T > Class Template Reference

#include <adj_list.h>

Collaboration diagram for gs::MutableAdjlist< EDATA_T >:
Collaboration graph
[legend]

Public Types

using nbr_t = MutableNbr< EDATA_T >
 
using slice_t = MutableNbrSlice< EDATA_T >
 
using mut_slice_t = MutableNbrSliceMut< EDATA_T >
 

Public Member Functions

 MutableAdjlist ()
 
 MutableAdjlist (const MutableAdjlist &rhs)
 
 ~MutableAdjlist ()
 
void init (nbr_t *ptr, int cap, int size)
 
void batch_put_edge (vid_t neighbor, const EDATA_T &data, timestamp_t ts=0)
 
void put_edge (vid_t neighbor, const EDATA_T &data, timestamp_t ts, Allocator &allocator)
 
slice_t get_edges () const
 
mut_slice_t get_edges_mut ()
 
int capacity () const
 
int size () const
 
const nbr_tdata () const
 
nbr_tdata ()
 

Private Attributes

nbr_tbuffer_
 
std::atomic< int > size_
 
int capacity_
 

Member Typedef Documentation

◆ mut_slice_t

template<typename EDATA_T >
using gs::MutableAdjlist< EDATA_T >::mut_slice_t = MutableNbrSliceMut<EDATA_T>

◆ nbr_t

template<typename EDATA_T >
using gs::MutableAdjlist< EDATA_T >::nbr_t = MutableNbr<EDATA_T>

◆ slice_t

template<typename EDATA_T >
using gs::MutableAdjlist< EDATA_T >::slice_t = MutableNbrSlice<EDATA_T>

Constructor & Destructor Documentation

◆ MutableAdjlist() [1/2]

template<typename EDATA_T >
gs::MutableAdjlist< EDATA_T >::MutableAdjlist ( )
inline

◆ MutableAdjlist() [2/2]

template<typename EDATA_T >
gs::MutableAdjlist< EDATA_T >::MutableAdjlist ( const MutableAdjlist< EDATA_T > &  rhs)
inline

◆ ~MutableAdjlist()

template<typename EDATA_T >
gs::MutableAdjlist< EDATA_T >::~MutableAdjlist ( )
inline

Member Function Documentation

◆ batch_put_edge()

template<typename EDATA_T >
void gs::MutableAdjlist< EDATA_T >::batch_put_edge ( vid_t  neighbor,
const EDATA_T &  data,
timestamp_t  ts = 0 
)
inline

◆ capacity()

template<typename EDATA_T >
int gs::MutableAdjlist< EDATA_T >::capacity ( ) const
inline

◆ data() [1/2]

template<typename EDATA_T >
nbr_t* gs::MutableAdjlist< EDATA_T >::data ( )
inline

◆ data() [2/2]

template<typename EDATA_T >
const nbr_t* gs::MutableAdjlist< EDATA_T >::data ( ) const
inline

◆ get_edges()

template<typename EDATA_T >
slice_t gs::MutableAdjlist< EDATA_T >::get_edges ( ) const
inline

◆ get_edges_mut()

template<typename EDATA_T >
mut_slice_t gs::MutableAdjlist< EDATA_T >::get_edges_mut ( )
inline

◆ init()

template<typename EDATA_T >
void gs::MutableAdjlist< EDATA_T >::init ( nbr_t ptr,
int  cap,
int  size 
)
inline

◆ put_edge()

template<typename EDATA_T >
void gs::MutableAdjlist< EDATA_T >::put_edge ( vid_t  neighbor,
const EDATA_T &  data,
timestamp_t  ts,
Allocator allocator 
)
inline

◆ size()

template<typename EDATA_T >
int gs::MutableAdjlist< EDATA_T >::size ( ) const
inline

Member Data Documentation

◆ buffer_

template<typename EDATA_T >
nbr_t* gs::MutableAdjlist< EDATA_T >::buffer_
private

◆ capacity_

template<typename EDATA_T >
int gs::MutableAdjlist< EDATA_T >::capacity_
private

◆ size_

template<typename EDATA_T >
std::atomic<int> gs::MutableAdjlist< EDATA_T >::size_
private

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