Sequoia
Loading...
Searching...
No Matches
Classes | Variables
NodeStorage.hpp File Reference

Classes to allow homogeneous treatment of graphs with empty/non-empty node weights. More...

#include "sequoia/Core/ContainerUtilities/Iterator.hpp"
#include "sequoia/Maths/Graph/EdgesAndNodesUtilities.hpp"
#include <type_traits>
#include <algorithm>

Go to the source code of this file.

Classes

class  sequoia::maths::node_storage_base< Weight, Container >
 
class  sequoia::maths::node_storage< Weight, Container >
 
class  sequoia::maths::node_storage< Weight, Container >
 

Variables

template<class T >
constexpr bool sequoia::maths::has_get_allocator
 

Detailed Description

Classes to allow homogeneous treatment of graphs with empty/non-empty node weights.

These classes are designed to be inherited from publically, in order that graphs may aggregate the interface of the node storage. For empty node weights, the node storage specialization is itself empty, meaning that empty base class optimization will ensure that no space is wasted.

Variable Documentation

◆ has_get_allocator

template<class T >
constexpr bool sequoia::maths::has_get_allocator
inlineconstexpr
Initial value:
{
requires(const T& t) { t.get_allocator(); }
}