template<class NodeType, class EdgeType>
slang::netlist::DirectedEdge class

A class to represent a directed edge in a graph.

Constructors, destructors, conversion operators

DirectedEdge(NodeType& sourceNode, NodeType& targetNode)

Public functions

auto operator=(const DirectedEdge<NodeType, EdgeType>& edge) -> DirectedEdge<NodeType, EdgeType>&
auto operator==(const EdgeType& E) const -> bool
auto getSourceNode() const -> NodeType&
Return the source node of this edge.
auto getTargetNode() const -> NodeType&
Return the target node of this edge.

Protected functions

auto isEqualTo(const EdgeType& edge) const -> bool
auto getDerived() -> EdgeType&
auto getDerived() const -> const EdgeType&

Protected variables

NodeType& sourceNode
NodeType& targetNode

Friends

auto operator==(const EdgeType& A, const EdgeType& B) -> bool noexcept

Function documentation

template<class NodeType, class EdgeType>
bool operator==(const EdgeType& A, const EdgeType& B) noexcept

Static polymorphism: delegate implementation (via isEqualTo) to the derived class. Add friend operator to resolve ambiguity between operand ordering with C++20.