Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Public Types | Public Member Functions | Protected Attributes
edge::WeightedEdge< TNode, TWeight > Class Template Reference

#include <WeightedEdge.hpp>

Inheritance diagram for edge::WeightedEdge< TNode, TWeight >:
[legend]
Collaboration diagram for edge::WeightedEdge< TNode, TWeight >:
[legend]

Public Types

using node_type = TNode
 
using weight_type = TWeight
 
using normalized_type = WeightedEdge<>
 

Public Member Functions

 WeightedEdge (TNode _first, TNode _second, TWeight weight)
 
TWeight weight () const
 
void weight (TWeight &&weight)
 
auto operator<=> (const WeightedEdge &other) const
 
bool operator== (const WeightedEdge &other) const
 
void operator>> (ext::ostream &ostream) const override
 
virtual std::string name () const
 
- Public Member Functions inherited from ext::pair< TNode, TNode >
 pair (const pair &other)=default
 
 pair (pair &&other)=default
 
pairoperator= (pair &&other)=default
 
pairoperator= (const pair &other)=default
 
- Public Member Functions inherited from edge::EdgeBase
virtual ~EdgeBase () noexcept=default
 

Protected Attributes

TWeight m_weight
 

Member Typedef Documentation

◆ node_type

template<typename TNode , typename TWeight >
using edge::WeightedEdge< TNode, TWeight >::node_type = TNode

◆ normalized_type

template<typename TNode , typename TWeight >
using edge::WeightedEdge< TNode, TWeight >::normalized_type = WeightedEdge<>

◆ weight_type

template<typename TNode , typename TWeight >
using edge::WeightedEdge< TNode, TWeight >::weight_type = TWeight

Constructor & Destructor Documentation

◆ WeightedEdge()

template<typename TNode , typename TWeight >
edge::WeightedEdge< TNode, TWeight >::WeightedEdge ( TNode  _first,
TNode  _second,
TWeight  weight 
)
explicit

Member Function Documentation

◆ name()

template<typename TNode , typename TWeight >
std::string edge::WeightedEdge< TNode, TWeight >::name
virtual

◆ operator<=>()

template<typename TNode , typename TWeight >
auto edge::WeightedEdge< TNode, TWeight >::operator<=> ( const WeightedEdge< TNode, TWeight > &  other) const
inline
Here is the call graph for this function:

◆ operator==()

template<typename TNode , typename TWeight >
bool edge::WeightedEdge< TNode, TWeight >::operator== ( const WeightedEdge< TNode, TWeight > &  other) const
inline
Here is the call graph for this function:

◆ operator>>()

template<typename TNode , typename TWeight >
void edge::WeightedEdge< TNode, TWeight >::operator>> ( ext::ostream ostream) const
overridevirtual

Implements edge::EdgeBase.

◆ weight() [1/2]

template<typename TNode , typename TWeight >
TWeight edge::WeightedEdge< TNode, TWeight >::weight

◆ weight() [2/2]

template<typename TNode , typename TWeight >
void edge::WeightedEdge< TNode, TWeight >::weight ( TWeight &&  weight)

Field Documentation

◆ m_weight

template<typename TNode , typename TWeight >
TWeight edge::WeightedEdge< TNode, TWeight >::m_weight
protected

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