Sequoia
Loading...
Searching...
No Matches
Classes | Enumerations
Edge.hpp File Reference

Various edge types for use by graphs. More...

#include "sequoia/Core/Meta/Concepts.hpp"
#include "sequoia/Core/Meta/TypeTraits.hpp"
#include "sequoia/Core/Object/HandlerTraits.hpp"
#include "sequoia/Maths/Graph/EdgesAndNodesUtilities.hpp"
#include <stdexcept>

Go to the source code of this file.

Classes

class  sequoia::maths::weighting< WeightHandler, IndexType >
 A class to store non-trivial edge weights. More...
 
class  sequoia::maths::weighting< WeightHandler, IndexType >
 
class  sequoia::maths::partial_edge_base< WeightHandler, IndexType >
 Combines the edge_base and weighting class. More...
 
class  sequoia::maths::decorated_partial_edge_base< WeightHandler, MetaData, IndexType >
 
class  sequoia::maths::decorated_partial_edge_base< WeightHandler, MetaData, IndexType >
 
struct  sequoia::maths::null_meta_data
 
class  sequoia::maths::partial_edge< WeightHandler, MetaData, IndexType >
 A concrete edge containing a target index and, optionally, a weight. More...
 
class  sequoia::maths::embedded_partial_edge< WeightHandler, MetaData, IndexType >
 Decoration of a partial_edge to record the location on the target node into which the edge is embedded. More...
 

Enumerations

enum class  edge_flavour : bool { partial , partial_embedded }
 

Detailed Description

Various edge types for use by graphs.

The fundamental building block of the edge types is the edge_base. This can be thought of as a directed edge with no additional information; as such is 'points', via an index, to a target node.

All concrete edges inherit from this class but may have additional adornments. Depending on the context, edges may have one or more of the following:

  1. A non-trivial weight;
  2. An index recording the location on the target node into which the edge is embedded.