Sequoia
|
Public Types | |
using | connectivity_type = connectivity< GraphFlavour, graph_impl::edge_storage_generator_t< GraphFlavour, EdgeWeight, EdgeMetaData, std::size_t, EdgeStorageConfig > > |
using | node_storage_type = NodeWeightStorage |
using | primitive_type = graph_primitive< connectivity_type, node_storage_type > |
using | node_weight_type = NodeWeight |
using | size_type = typename primitive_type::size_type |
using | edges_initializer = typename primitive_type::edges_initializer |
using | edge_storage_type = typename connectivity_type::edge_storage_type |
using | edge_allocator_type = typename edge_storage_type::allocator_type |
![]() | |
using | connectivity_type = Connectivity |
using | nodes_type = NodeWeightStorage |
using | edge_init_type = typename Connectivity::edge_init_type |
using | edge_index_type = typename Connectivity::edge_index_type |
using | size_type = std::common_type_t< typename Connectivity::size_type, typename Nodes::size_type > |
using | pseudo_iterator = graph_impl::pseudo_iterator< Connectivity, NodeWeightStorage > |
using | edges_initializer = std::initializer_list< std::initializer_list< edge_init_type > > |
Public Member Functions | |
graph_base (const edge_allocator_type &edgeAllocator) | |
template<alloc EdgePartitionsAllocator> requires allocatable_partitions<edge_storage_type> | |
graph_base (const edge_allocator_type &edgeAllocator, const EdgePartitionsAllocator &edgePartitionsAllocator) | |
graph_base (edges_initializer edges) | |
graph_base (edges_initializer edges, const edge_allocator_type &edgeAllocator) | |
template<alloc EdgePartitionsAllocator> requires allocatable_partitions<edge_storage_type> | |
graph_base (edges_initializer edges, const edge_allocator_type &edgeAllocator, const EdgePartitionsAllocator &edgePartitionsAllocator) | |
template<tree_link_direction dir> requires ( !heterogeneous_nodes<graph_base> && ((dir == tree_link_direction::symmetric) || is_directed(primitive_type::connectivity::flavour))) | |
graph_base (std::initializer_list< tree_initializer< node_weight_type > > forest, tree_link_direction_constant< dir > tdc) | |
template<tree_link_direction dir> requires ( !heterogeneous_nodes<graph_base> && ((dir == tree_link_direction::symmetric) || is_directed(primitive_type::connectivity::flavour))) | |
graph_base (tree_initializer< node_weight_type > tree, tree_link_direction_constant< dir > tdc) | |
graph_base (const graph_base &)=default | |
graph_base (const graph_base &in, const edge_allocator_type &edgeAllocator) | |
template<alloc EdgePartitionsAllocator> requires allocatable_partitions<edge_storage_type> | |
graph_base (const graph_base &in, const edge_allocator_type &edgeAllocator, const EdgePartitionsAllocator &edgePartitionsAllocator) | |
graph_base (graph_base &&) noexcept=default | |
graph_base (graph_base &&in, const edge_allocator_type &edgeAllocator) | |
template<alloc EdgePartitionsAllocator> requires allocatable_partitions<edge_storage_type> | |
graph_base (graph_base &&in, const edge_allocator_type &edgeAllocator, const EdgePartitionsAllocator &edgePartitionsAllocator) | |
graph_base & | operator= (const graph_base &)=default |
graph_base & | operator= (graph_base &&) noexcept=default |
void | swap (graph_primitive &rhs) noexcept(noexcept(this->Connectivity::swap(rhs)) &&noexcept(this->Nodes::swap(rhs))) |
void | clear () noexcept |
void | reserve_nodes (const size_type size) |
size_type | node_capacity () const noexcept |
void | shrink_to_fit () |
![]() | |
constexpr | graph_primitive (edges_initializer edges) |
constexpr | graph_primitive (edges_initializer edges) |
constexpr | graph_primitive (edges_initializer edges, std::initializer_list< node_weight_type > nodeWeights) |
constexpr | graph_primitive (edges_initializer edges, NodeWeights &&... nodeWeights) |
constexpr | graph_primitive (std::initializer_list< tree_initializer< node_weight_type > > forest, tree_link_direction_constant< dir > tdc) |
constexpr | graph_primitive (tree_initializer< node_weight_type > tree, tree_link_direction_constant< dir > tdc) |
constexpr | graph_primitive (const graph_primitive &)=default |
constexpr size_type | size () const noexcept |
constexpr void | swap_nodes (edge_index_type i, edge_index_type j) |
constexpr void | sort_nodes (Compare c) |
constexpr void | sort_nodes (const edge_index_type first, const edge_index_type last, Compare c) |
Static Public Attributes | |
static constexpr graph_flavour | flavour {GraphFlavour} |
Additional Inherited Members | |
![]() | |
constexpr | graph_primitive (const EdgeAllocator &edgeAlloc, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (const EdgeAllocator &edgeAlloc) |
constexpr | graph_primitive (const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc) |
constexpr | graph_primitive (edges_initializer edges, const EdgeAllocator &edgeAlloc, std::initializer_list< node_weight_type > nodeWeights, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (edges_initializer edges, const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc, std::initializer_list< node_weight_type > nodeWeights, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (edges_initializer edges, const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc, NodeWeights &&... nodeWeights) |
constexpr | graph_primitive (edges_initializer edges, const EdgeAllocator &edgeAlloc, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (edges_initializer edges, const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (edges_initializer edges, const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc) |
constexpr | graph_primitive (edges_initializer edges, const EdgeAllocator &edgeAlloc) |
constexpr | graph_primitive (const graph_primitive &in, const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (const graph_primitive &in, const EdgeAllocator &edgeAlloc, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (const graph_primitive &in, const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc) |
constexpr | graph_primitive (const graph_primitive &in, const EdgeAllocator &edgeAlloc) |
constexpr | graph_primitive (graph_primitive &&) noexcept=default |
constexpr | graph_primitive (graph_primitive &&in, const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (graph_primitive &&in, const EdgeAllocator &edgeAlloc, const NodeAllocator &nodeAlloc) |
constexpr | graph_primitive (graph_primitive &&in, const EdgeAllocator &edgeAlloc, const EdgePartitionsAllocator &edgeParitionsAlloc) |
constexpr | graph_primitive (graph_primitive &&in, const EdgeAllocator &edgeAlloc) |
constexpr graph_primitive & | operator= (graph_primitive &&) noexcept=default |
constexpr graph_primitive & | operator= (const graph_primitive &)=default |
void | swap (graph_primitive &rhs) noexcept(noexcept(this->Connectivity::swap(rhs)) &&noexcept(this->Nodes::swap(rhs))) |
void | reserve_nodes (const size_type size) |
size_type | node_capacity () const noexcept |
void | shrink_to_fit () |
size_type | add_node (Args &&... args) |
size_type | insert_node (const size_type pos, Args &&... args) |
void | erase_node (const size_type node) |
void | clear () noexcept |
size_type | insert_node_to_tree (tree_link_direction_constant< dir >, size_type pos, size_type parent, Args &&... args) |
size_type | add_node_to_tree (tree_link_direction_constant< dir > tldc, size_type parent, Args &&... args) |
![]() | |
static constexpr bool | enableNodeAllocation |