slang-netlist  0.9.0
Loading...
Searching...
No Matches
slang::netlist::Case Class Reference

#include <NetlistNode.hpp>

Inheritance diagram for slang::netlist::Case:
slang::netlist::NetlistNode slang::netlist::Node< NetlistNode, NetlistEdge >

Public Member Functions

 Case (TextLocation location)
auto getLocation () const -> std::optional< TextLocation > override
Public Member Functions inherited from slang::netlist::NetlistNode
 NetlistNode (NodeKind kind)
 ~NetlistNode () override=default
template<typename T>
auto as () -> T &
template<typename T>
auto as () const -> const T &
virtual auto getHierarchicalPath () const -> std::optional< std::string_view >
virtual auto getBounds () const -> std::optional< DriverBitRange >
Public Member Functions inherited from slang::netlist::Node< NetlistNode, NetlistEdge >
 Node ()=default
virtual ~Node ()=default
auto operator= (const Node &) -> Node &=delete
auto begin () const -> const_iterator
auto end () const -> const_iterator
auto inBegin () -> in_iterator
auto inEnd () -> in_iterator
auto findEdgeFrom (const NetlistNode &sourceNode) -> in_iterator
 Return an iterator to the edge connecting the source node.
auto findEdgeTo (const NetlistNode &targetNode) -> iterator
 Return an iterator to the edge connecting the target node.
auto addEdge (NetlistNode &targetNode) -> NetlistEdge &
auto addNewEdge (NetlistNode &targetNode) -> NetlistEdge &
auto removeEdge (NetlistNode &targetNode) -> bool
void clearAllEdges ()
 Remove all edges to/from this node.
auto getEdgesTo (const NetlistNode &targetNode, std::vector< NetlistEdge * > &result) -> bool
auto getInEdges () const -> const InEdgeListType &
 Return the list of outgoing edges from this node.
auto getOutEdges () const -> const OutEdgeListType &
auto inDegree () const -> size_t
 Return the total number of edges incoming to this node.
auto outDegree () const -> size_t
 Return the total number of edges outgoing from this node.

Static Public Member Functions

static auto isKind (NodeKind otherKind) -> bool

Public Attributes

TextLocation location
Public Attributes inherited from slang::netlist::NetlistNode
size_t ID
NodeKind kind

Additional Inherited Members

Public Types inherited from slang::netlist::Node< NetlistNode, NetlistEdge >
using OutEdgePtrType
using OutEdgeListType
using InEdgeListType
using iterator
using const_iterator
using in_iterator
using const_in_iterator
using edge_descriptor
Protected Types inherited from slang::netlist::Node< NetlistNode, NetlistEdge >
using OutEdgeIndex
Protected Member Functions inherited from slang::netlist::Node< NetlistNode, NetlistEdge >
auto isEqualTo (const NetlistNode &node) const -> bool
auto getDerived () -> NetlistNode &
Protected Attributes inherited from slang::netlist::Node< NetlistNode, NetlistEdge >
std::mutex edgeMutex
InEdgeListType inEdges
OutEdgeListType outEdges
std::unique_ptr< OutEdgeIndexoutEdgeIndex
Static Protected Attributes inherited from slang::netlist::Node< NetlistNode, NetlistEdge >
static constexpr size_t outEdgeIndexThreshold

Constructor & Destructor Documentation

◆ Case()

slang::netlist::Case::Case ( TextLocation location)
inline

Member Function Documentation

◆ getLocation()

auto slang::netlist::Case::getLocation ( ) const -> std::optional< TextLocation >
inlineoverridevirtual

Reimplemented from slang::netlist::NetlistNode.

◆ isKind()

auto slang::netlist::Case::isKind ( NodeKind otherKind) -> bool
inlinestatic

Member Data Documentation

◆ location

TextLocation slang::netlist::Case::location

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