|
|
| 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 |