|
| Network ()=default |
| Construct a new empty Network object.
|
|
| Network (AdjacencyMatrix const &adj) |
| Construct a new Network object.
|
|
std::unordered_map< Id, std::unique_ptr< node_t > > const & | nodes () const |
| Get the nodes as an unordered map.
|
|
std::unordered_map< Id, std::unique_ptr< edge_t > > const & | edges () const |
| Get the edges as an unordered map.
|
|
size_t | nNodes () const |
| Get the number of nodes.
|
|
size_t | nEdges () const |
| Get the number of edges.
|
|
template<typename TNode = node_t, typename... TArgs>
requires (std::is_base_of_v<node_t, TNode> && std::constructible_from<TNode, TArgs...>) |
void | addNode (TArgs &&... args) |
| Add a node to the network.
|
|
template<typename TNode = node_t>
requires (std::is_base_of_v<node_t, TNode>) |
void | addNDefaultNodes (size_t n) |
|
template<typename TEdge = edge_t, typename... TArgs>
requires (std::is_base_of_v<edge_t, TEdge> && std::constructible_from<TEdge, TArgs...>) |
void | addEdge (TArgs &&... args) |
| Add an edge to the network.
|
|
std::unique_ptr< node_t > const & | node (Id nodeId) const |
| Get a node by id.
|
|
std::unique_ptr< node_t > & | node (Id nodeId) |
| Get a node by id.
|
|
std::unique_ptr< edge_t > const & | edge (Id edgeId) const |
| Get an edge by id.
|
|
std::unique_ptr< edge_t > & | edge (Id edgeId) |
| Get an edge by id.
|
|
std::unique_ptr< edge_t > const & | edge (Id source, Id target) const |
|
template<typename TNode>
requires (std::is_base_of_v<node_t, TNode>) |
TNode & | node (Id nodeId) |
| Get a node by id.
|
|
template<typename TEdge>
requires (std::is_base_of_v<edge_t, TEdge>) |
TEdge & | edge (Id edgeId) |
| Get an edge by id.
|
|
template<typename node_t, typename edge_t>
requires (std::is_base_of_v<edge_t, TEdge> && std::constructible_from<TEdge, TArgs...>)
template<typename TEdge, typename... TArgs>
requires (std::is_base_of_v<edge_t, TEdge> && std::constructible_from<TEdge, TArgs...>)
void dsf::Network< node_t, edge_t >::addEdge |
( |
TArgs &&... | args | ) |
|
Add an edge to the network.
- Template Parameters
-
TEdge | The type of the edge (default is edge_t) |
TArgs | The types of the arguments |
- Parameters
-
edgeId | The edge's id |
args | The arguments to pass to the edge's constructor |
template<typename node_t, typename edge_t>
requires (std::is_base_of_v<node_t, TNode> && std::constructible_from<TNode, TArgs...>)
template<typename TNode, typename... TArgs>
requires (std::is_base_of_v<node_t, TNode> && std::constructible_from<TNode, TArgs...>)
void dsf::Network< node_t, edge_t >::addNode |
( |
TArgs &&... | args | ) |
|
Add a node to the network.
- Template Parameters
-
TNode | The type of the node (default is node_t) |
TArgs | The types of the arguments |
- Parameters
-
nodeId | The node's id |
args | The arguments to pass to the node's constructor |