Sequoia
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
sequoia::maths::node_storage_base< Weight, Container > Class Template Reference
Inheritance diagram for sequoia::maths::node_storage_base< Weight, Container >:
sequoia::maths::node_storage< NodeWeight > sequoia::maths::node_storage< suite_node > sequoia::maths::static_node_storage< NodeWeight, Order > sequoia::maths::node_storage< Weight, Container > sequoia::testing::node_storage_tester< Weight, PropagateCopy, PropagateMove, PropagateSwap > sequoia::maths::graph_primitive< connectivity< GraphFlavour, graph_impl::edge_storage_generator_t< GraphFlavour, EdgeWeight, null_meta_data, std::size_t, bucketed_edge_storage_config > >, node_storage< NodeWeight > > sequoia::maths::graph_primitive< connectivity< GraphFlavour, graph_impl::edge_storage_generator_t< GraphFlavour, EdgeWeight, EdgeMetaData, std::size_t, bucketed_edge_storage_config > >, node_storage< NodeWeight > > sequoia::maths::graph_primitive< connectivity< GraphFlavour, graph_impl::edge_storage_generator_t< GraphFlavour, maths::null_weight, null_meta_data, std::size_t, bucketed_edge_storage_config > >, node_storage< suite_node > > sequoia::maths::graph_primitive< connectivity< graph_flavour::directed, graph_impl::edge_storage_generator_t< graph_flavour::directed, EdgeWeight, null_meta_data, EdgeStorageConfig::index_type, static_edge_storage_config< graph_flavour::directed, Size, Order > > >, static_node_storage< NodeWeight, Order > > sequoia::maths::graph_primitive< connectivity< graph_flavour::undirected_embedded, graph_impl::edge_storage_generator_t< graph_flavour::undirected_embedded, EdgeWeight, null_meta_data, EdgeStorageConfig::index_type, static_edge_storage_config< graph_flavour::undirected_embedded, Size, Order > > >, static_node_storage< NodeWeight, Order > > sequoia::maths::graph_primitive< connectivity< graph_flavour::undirected, graph_impl::edge_storage_generator_t< graph_flavour::undirected, EdgeWeight, null_meta_data, EdgeStorageConfig::index_type, static_edge_storage_config< graph_flavour::undirected, Size, Order > > >, static_node_storage< NodeWeight, Order > >

Public Types

using weight_type = Weight
 
using node_weight_container_type = Container
 
using size_type = typename node_weight_container_type::size_type
 
using iterator = typename node_weight_container_type::iterator
 
using reverse_iterator = typename node_weight_container_type::reverse_iterator
 
using node_weights_range = std::ranges::subrange< iterator >
 
using const_iterator = typename node_weight_container_type::const_iterator
 
using const_reverse_iterator = typename node_weight_container_type::const_reverse_iterator
 
using const_node_weights_range = std::ranges::subrange< const_iterator >
 

Public Member Functions

constexpr auto size () const noexcept
 
constexpr iterator begin_node_weights () noexcept
 
constexpr reverse_iterator rbegin_node_weights () noexcept
 
constexpr const_iterator cbegin_node_weights () const noexcept
 
constexpr const_reverse_iterator crbegin_node_weights () const noexcept
 
constexpr iterator end_node_weights () noexcept
 
constexpr reverse_iterator rend_node_weights () noexcept
 
constexpr const_iterator cend_node_weights () const noexcept
 
constexpr const_reverse_iterator crend_node_weights () const noexcept
 
constexpr node_weights_range node_weights () noexcept
 
constexpr const_node_weights_range node_weights () const noexcept
 
constexpr const_node_weights_range cnode_weights () const noexcept
 
template<class W >
constexpr void set_node_weight (const_iterator pos, W w)
 
template<class Fn >
constexpr decltype(auto) mutate_node_weight (const_iterator pos, Fn fn)
 

Protected Member Functions

constexpr node_storage_base (const size_type n)
 
template<std::size_t N>
constexpr node_storage_base (const std::array< weight_type, N > &weights)
 
constexpr node_storage_base (std::initializer_list< weight_type > weights)
 
template<alloc Allocator>
constexpr node_storage_base (const Allocator &allocator)
 
template<alloc Allocator>
constexpr node_storage_base (const size_t n, const Allocator &allocator)
 
template<alloc Allocator>
constexpr node_storage_base (std::initializer_list< weight_type > weights, const Allocator &allocator)
 
constexpr node_storage_base (const node_storage_base &)=default
 
template<alloc Allocator>
constexpr node_storage_base (const node_storage_base &other, const Allocator &allocator)
 
constexpr node_storage_base (node_storage_base &&) noexcept=default
 
template<alloc Allocator>
constexpr node_storage_base (node_storage_base &&s, const Allocator &allocator) noexcept
 
constexpr node_storage_baseoperator= (const node_storage_base &)=default
 
constexpr node_storage_baseoperator= (node_storage_base &&) noexcept=default
 
constexpr void swap (node_storage_base &rhs) noexcept(noexcept(std::ranges::swap(this->m_NodeWeights, rhs.m_NodeWeights)))
 
constexpr void swap_nodes (const size_type i, const size_type j)
 
auto get_node_allocator () const
 
void reserve (const size_type newCapacity)
 
size_type capacity () const noexcept
 
void shrink_to_fit ()
 
template<class... Args>
void add_node (Args &&... args)
 
template<class... Args>
const_iterator insert_node (const_iterator pos, Args &&... args)
 
const_iterator erase_node (const_iterator pos)
 
const_iterator erase_nodes (const_iterator first, const_iterator last)
 
void clear () noexcept
 

Friends

constexpr bool operator== (const node_storage_base &, const node_storage_base &) noexcept=default
 

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