|
VeloGraphX
High-performance dynamic graph analytics in C++20
|
#include <dynamic_graph.hpp>
Public Member Functions | |
| DynamicGraph (std::size_t vertices=0, bool directed=false) | |
| std::size_t | vertex_count () const noexcept |
| std::uint64_t | version () const noexcept |
| bool | directed () const noexcept |
| void | ensure_vertex (VertexId v) |
| void | bulk_load_edges (const std::vector< std::pair< VertexId, VertexId > > &edges) |
| void | add_edge (VertexId u, VertexId v) |
| void | remove_edge (VertexId u, VertexId v) |
| void | apply (const UpdateBatch &batch) |
| std::vector< VertexId > | neighbors (VertexId u) const |
| std::vector< VertexId > | in_neighbors (VertexId v) const |
| template<class Fn > | |
| void | for_each_neighbor (VertexId u, Fn &&fn) const |
| template<class Fn > | |
| void | for_each_in_neighbor (VertexId v, Fn &&fn) const |
| bool | is_compact () const noexcept |
| std::span< const VertexId > | compact_neighbors (VertexId u) const noexcept |
| std::span< const VertexId > | compact_in_neighbors (VertexId v) const noexcept |
| bool | has_edge (VertexId u, VertexId v) const |
| std::size_t | edge_count_directed () const noexcept |
| std::size_t | base_edge_count_directed () const noexcept |
| std::size_t | delta_edge_count () const noexcept |
| std::size_t | storage_bytes () const noexcept |
| double | delta_ratio () const noexcept |
| std::size_t | dirty_out_segment_count () const |
| std::size_t | dirty_in_segment_count () const |
| bool | maybe_compact (double threshold=0.25) |
| void | compact () |
Definition at line 479 of file dynamic_graph.hpp.
|
inlineexplicit |
Definition at line 481 of file dynamic_graph.hpp.
References velographx::storage_detail::SegmentedCsr::resize_vertices(), and velographx::storage_detail::PackedDeltaStore::resize_vertices().
Definition at line 531 of file dynamic_graph.hpp.
References velographx::UpdateBatch::add(), and apply().
|
inline |
Definition at line 543 of file dynamic_graph.hpp.
References velographx::UpdateBatch::empty(), and velographx::UpdateBatch::updates.
Referenced by add_edge(), velographx::TemporalGraph::apply(), velographx::io::load_binary(), remove_edge(), velographx::TemporalGraph::sliding_window(), velographx::TemporalGraph::snapshot_time(), and velographx::TemporalGraph::snapshot_version().
|
inlinenoexcept |
Definition at line 593 of file dynamic_graph.hpp.
|
inline |
Definition at line 502 of file dynamic_graph.hpp.
References velographx::storage_detail::SegmentedCsr::build(), velographx::storage_detail::SegmentedCsr::build_transpose_from(), velographx::storage_detail::PackedDeltaStore::clear(), velographx::storage_detail::CompactRowPatches::clear(), velographx::storage_detail::SegmentedCsr::edge_count(), ensure_vertex(), velographx::storage_detail::PackedDeltaStore::resize_vertices(), and vertex_count().
Referenced by velographx::consolidate_to_csr_snapshot().
|
inline |
Definition at line 633 of file dynamic_graph.hpp.
References is_compact(), and velographx::storage_detail::PackedDeltaStore::repack().
Referenced by velographx::io::load_binary().
|
inlinenoexcept |
Definition at line 578 of file dynamic_graph.hpp.
References velographx::storage_detail::CompactRowPatches::find(), and velographx::storage_detail::SegmentedCsr::row().
|
inlinenoexcept |
Definition at line 573 of file dynamic_graph.hpp.
References velographx::storage_detail::CompactRowPatches::find(), and velographx::storage_detail::SegmentedCsr::row().
Referenced by velographx::consolidate_to_csr_snapshot().
|
inlinenoexcept |
Definition at line 597 of file dynamic_graph.hpp.
References velographx::storage_detail::PackedDeltaStore::size().
|
inlinenoexcept |
Definition at line 607 of file dynamic_graph.hpp.
References velographx::storage_detail::PackedDeltaStore::size().
|
inlinenoexcept |
Definition at line 491 of file dynamic_graph.hpp.
Referenced by velographx::consolidate_to_csr_snapshot().
|
inline |
Definition at line 616 of file dynamic_graph.hpp.
|
inline |
Definition at line 612 of file dynamic_graph.hpp.
|
inlinenoexcept |
Definition at line 589 of file dynamic_graph.hpp.
References velographx::storage_detail::PackedDeltaStore::additions(), and velographx::storage_detail::PackedDeltaStore::deletions().
Referenced by velographx::consolidate_to_csr_snapshot(), and velographx::io::save_binary().
|
inline |
Definition at line 493 of file dynamic_graph.hpp.
References velographx::storage_detail::SegmentedCsr::resize_vertices(), velographx::storage_detail::PackedDeltaStore::resize_vertices(), and vertex_count().
Referenced by bulk_load_edges().
|
inline |
Definition at line 565 of file dynamic_graph.hpp.
|
inline |
Definition at line 560 of file dynamic_graph.hpp.
Definition at line 583 of file dynamic_graph.hpp.
References velographx::storage_detail::PackedDeltaStore::override_for(), and vertex_count().
Referenced by velographx::IncrementalTriangleCount::apply().
Definition at line 555 of file dynamic_graph.hpp.
|
inlinenoexcept |
Definition at line 569 of file dynamic_graph.hpp.
References velographx::storage_detail::PackedDeltaStore::empty().
Referenced by compact(), and velographx::consolidate_to_csr_snapshot().
|
inline |
Definition at line 620 of file dynamic_graph.hpp.
References velographx::storage_detail::PackedDeltaStore::fragmentation_ratio(), and velographx::storage_detail::PackedDeltaStore::repack().
Definition at line 551 of file dynamic_graph.hpp.
Referenced by velographx::consolidate_to_csr_snapshot(), and velographx::io::save_binary().
Definition at line 537 of file dynamic_graph.hpp.
References apply(), and velographx::UpdateBatch::remove().
|
inlinenoexcept |
Definition at line 599 of file dynamic_graph.hpp.
References velographx::storage_detail::SegmentedCsr::storage_bytes(), velographx::storage_detail::PackedDeltaStore::storage_bytes(), and velographx::storage_detail::CompactRowPatches::storage_bytes().
Referenced by velographx::consolidate_to_csr_snapshot().
|
inlinenoexcept |
Definition at line 490 of file dynamic_graph.hpp.
Referenced by velographx::TemporalGraph::apply(), velographx::TemporalGraph::changes_between_versions(), velographx::TemporalGraph::snapshot_version(), and velographx::TemporalGraph::version().
|
inlinenoexcept |
Definition at line 489 of file dynamic_graph.hpp.
References velographx::storage_detail::SegmentedCsr::vertex_count().
Referenced by bulk_load_edges(), velographx::consolidate_to_csr_snapshot(), ensure_vertex(), has_edge(), and velographx::io::save_binary().