VeloGraphX
High-performance dynamic graph analytics in C++20
Loading...
Searching...
No Matches
velographx::storage_detail::SegmentedCsr Class Reference

#include <dynamic_graph.hpp>

Public Member Functions

std::size_t vertex_count () const noexcept
 
std::size_t edge_count () const noexcept
 
std::size_t segment_count () const noexcept
 
std::size_t segment_begin (std::size_t index) const noexcept
 
std::size_t segment_end (std::size_t index) const noexcept
 
std::size_t segment_edge_count (std::size_t index) const noexcept
 
void resize_vertices (std::size_t vertices)
 
void clear (std::size_t vertices=0)
 
void build (std::size_t vertices, std::vector< std::pair< VertexId, VertexId > > arcs)
 
template<class RowProvider >
void build_from_rows (std::size_t vertices, RowProvider &&rows)
 
template<class RowProvider >
void rebuild_segment (std::size_t index, RowProvider &&rows)
 
void build_transpose_from (const SegmentedCsr &source)
 
std::span< const VertexIdrow (VertexId u) const noexcept
 
bool contains (VertexId u, VertexId v) const noexcept
 
std::size_t storage_bytes () const noexcept
 

Static Public Attributes

static constexpr std::size_t kVerticesPerSegment = 1u << 16
 

Detailed Description

Definition at line 33 of file dynamic_graph.hpp.

Member Function Documentation

◆ build()

void velographx::storage_detail::SegmentedCsr::build ( std::size_t  vertices,
std::vector< std::pair< VertexId, VertexId > >  arcs 
)
inline

Definition at line 79 of file dynamic_graph.hpp.

References clear(), and kVerticesPerSegment.

Referenced by velographx::DynamicGraph::bulk_load_edges().

◆ build_from_rows()

template<class RowProvider >
void velographx::storage_detail::SegmentedCsr::build_from_rows ( std::size_t  vertices,
RowProvider &&  rows 
)
inline

Definition at line 114 of file dynamic_graph.hpp.

References clear().

◆ build_transpose_from()

void velographx::storage_detail::SegmentedCsr::build_transpose_from ( const SegmentedCsr source)
inline

◆ clear()

void velographx::storage_detail::SegmentedCsr::clear ( std::size_t  vertices = 0)
inline

Definition at line 72 of file dynamic_graph.hpp.

References resize_vertices().

Referenced by build(), build_from_rows(), and build_transpose_from().

◆ contains()

bool velographx::storage_detail::SegmentedCsr::contains ( VertexId  u,
VertexId  v 
) const
inlinenoexcept

Definition at line 190 of file dynamic_graph.hpp.

References row().

◆ edge_count()

std::size_t velographx::storage_detail::SegmentedCsr::edge_count ( ) const
inlinenoexcept

◆ rebuild_segment()

template<class RowProvider >
void velographx::storage_detail::SegmentedCsr::rebuild_segment ( std::size_t  index,
RowProvider &&  rows 
)
inline

Definition at line 129 of file dynamic_graph.hpp.

◆ resize_vertices()

void velographx::storage_detail::SegmentedCsr::resize_vertices ( std::size_t  vertices)
inline

◆ row()

std::span< const VertexId > velographx::storage_detail::SegmentedCsr::row ( VertexId  u) const
inlinenoexcept

◆ segment_begin()

std::size_t velographx::storage_detail::SegmentedCsr::segment_begin ( std::size_t  index) const
inlinenoexcept

Definition at line 41 of file dynamic_graph.hpp.

◆ segment_count()

std::size_t velographx::storage_detail::SegmentedCsr::segment_count ( ) const
inlinenoexcept

Definition at line 39 of file dynamic_graph.hpp.

◆ segment_edge_count()

std::size_t velographx::storage_detail::SegmentedCsr::segment_edge_count ( std::size_t  index) const
inlinenoexcept

Definition at line 50 of file dynamic_graph.hpp.

◆ segment_end()

std::size_t velographx::storage_detail::SegmentedCsr::segment_end ( std::size_t  index) const
inlinenoexcept

Definition at line 45 of file dynamic_graph.hpp.

◆ storage_bytes()

std::size_t velographx::storage_detail::SegmentedCsr::storage_bytes ( ) const
inlinenoexcept

Definition at line 195 of file dynamic_graph.hpp.

Referenced by velographx::DynamicGraph::storage_bytes().

◆ vertex_count()

std::size_t velographx::storage_detail::SegmentedCsr::vertex_count ( ) const
inlinenoexcept

Member Data Documentation

◆ kVerticesPerSegment

constexpr std::size_t velographx::storage_detail::SegmentedCsr::kVerticesPerSegment = 1u << 16
staticconstexpr

Definition at line 35 of file dynamic_graph.hpp.

Referenced by build(), build_transpose_from(), resize_vertices(), and row().


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