template<typename T>
class fpmas::graph::DefaultDistributedNodeBuilder< T >
A default DistributedNodeBuilder instance that builds fpmas::graph::DistributedNode instance containing default initialized T instances.
- Template Parameters
-
Builds a distant node in the specified graph
, with the provided id
. The node is assumed to be currently owned by the process with rank location
.
Such a node can be considered as a "temporary" node, that can be used by the underlying algorithm to build edges with nodes that are currently not located on this process.
Implementations are likely to behave as follow:
- Dynamically allocates a default DistributedNode
- Initiates its location using DistributedNode::setLocation()
- Inserts it into the graph using DistributedGraph::insertDistant()
- Note
- The node returned must be the node effectively contained in the graph at the end of the operation. Indeed, it is allowed to try to insert a DISTANT node already contained in the graph, and implementations might decide to ignore the new node or to replace the existing one, but the node finally contained in the graph must be returned. In any case, it is safe to return the result of DistributedGraph::insertDistant().
Notice that the count of nodes built using this method is not limited and is not correlated to localNodeCount() or nodeCount(), contrary to the buildNode() method.
- Parameters
-
id | id of the distant node |
location | current node location |
graph | graph in which the distant node will be inserted |