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

#include <NetlistNode.hpp>

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

Public Member Functions

 Variable (std::string name, std::string hierarchicalPath, TextLocation location, DriverBitRange bounds)
auto getHierarchicalPath () const -> std::optional< std::string_view > override
auto getBounds () const -> std::optional< DriverBitRange > override
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 &
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

std::string name
std::string hierarchicalPath
TextLocation location
DriverBitRange bounds
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

◆ Variable()

slang::netlist::Variable::Variable ( std::string name,
std::string hierarchicalPath,
TextLocation location,
DriverBitRange bounds )
inline

Member Function Documentation

◆ getBounds()

auto slang::netlist::Variable::getBounds ( ) const -> std::optional< DriverBitRange >
inlineoverridevirtual

Reimplemented from slang::netlist::NetlistNode.

◆ getHierarchicalPath()

auto slang::netlist::Variable::getHierarchicalPath ( ) const -> std::optional< std::string_view >
inlineoverridevirtual

Reimplemented from slang::netlist::NetlistNode.

◆ getLocation()

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

Reimplemented from slang::netlist::NetlistNode.

◆ isKind()

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

Member Data Documentation

◆ bounds

DriverBitRange slang::netlist::Variable::bounds

◆ hierarchicalPath

std::string slang::netlist::Variable::hierarchicalPath

◆ location

TextLocation slang::netlist::Variable::location

◆ name

std::string slang::netlist::Variable::name

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