Sequoia
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
GraphPrimitive.hpp File Reference

Underlying class for the various different graph flavour. More...

#include "sequoia/Algorithms/Algorithms.hpp"
#include "sequoia/Maths/Graph/Connectivity.hpp"
#include "sequoia/Maths/Graph/GraphTraits.hpp"
#include "sequoia/Core/ContainerUtilities/AssignmentUtilities.hpp"

Go to the source code of this file.

Classes

class  sequoia::maths::graph_impl::graph_dereference_policy< Connectivity, Nodes >
 
struct  sequoia::maths::tree_initializer< NodeWeight >
 
struct  sequoia::maths::tree_initializer< NodeWeight >
 
struct  sequoia::maths::tree_link_direction_constant< d >
 
class  sequoia::maths::graph_primitive< Connectivity, Nodes >
 

Typedefs

template<network Connectivity, class Nodes >
using sequoia::maths::graph_impl::pseudo_iterator = utilities::iterator< typename graph_primitive< Connectivity, Nodes >::edge_index_type, graph_dereference_policy< Connectivity, Nodes > >
 
using sequoia::maths::symmetric_tree_type = tree_link_direction_constant< tree_link_direction::symmetric >
 
using sequoia::maths::forward_tree_type = tree_link_direction_constant< tree_link_direction::forward >
 
using sequoia::maths::backward_tree_type = tree_link_direction_constant< tree_link_direction::backward >
 

Enumerations

enum class  tree_link_direction { symmetric , forward , backward }
 

Functions

template<network Connectivity, class Nodes >
constexpr void sequoia::maths::iter_swap (graph_impl::pseudo_iterator< Connectivity, Nodes > a, graph_impl::pseudo_iterator< Connectivity, Nodes > b)
 

Variables

template<network Connectivity, class Nodes >
class SEQUOIA_MSVC_EMPTY_BASE_HACK sequoia::maths::graph_primitive
 

Detailed Description

Underlying class for the various different graph flavour.

Typedef Documentation

◆ pseudo_iterator

template<network Connectivity, class Nodes >
using sequoia::maths::graph_impl::pseudo_iterator = typedef utilities::iterator<typename graph_primitive<Connectivity, Nodes>::edge_index_type, graph_dereference_policy<Connectivity, Nodes> >

Designed to swap nodes, when used in conjunction with sequoia::swap, courtesy of the overload of iter_swap, below. This is a pseudo iterator since it doesn't have reference semantics