fpmas 1.6
Classes | Typedefs | Enumerations | Functions
fpmas::api::graph Namespace Reference

Classes

class  DistributedEdge
 
class  DistributedGraph
 
class  DistributedGraphBuilder
 
class  DistributedId
 
class  DistributedNode
 
class  DistributedNodeBuilder
 
class  Edge
 
class  FixedVerticesLoadBalancing
 
class  Graph
 
class  GraphBuilder
 
class  Id
 
struct  IdHash
 
class  LoadBalancing
 
class  LocationManager
 
class  Node
 
class  NodeBuilder
 
struct  NodeEvent
 
struct  SetDistantNodeEvent
 
struct  SetLocalNodeEvent
 
class  TemporaryNode
 

Typedefs

typedef int LayerId
 
typedef std::unordered_map< DistributedId, int, api::graph::IdHash< DistributedId > > PartitionMap
 
template<typename T >
using NodeMap = typename graph::Graph< graph::DistributedNode< T >, graph::DistributedEdge< T > >::NodeMap
 

Enumerations

enum  PartitionMode { PARTITION , REPARTITION }
 
enum  LocationState { LOCAL , DISTANT }
 

Functions

std::ostream & operator<< (std::ostream &os, const DistributedId &id)
 
std::ostream & operator<< (std::ostream &os, const LocationState &loc)
 

Detailed Description

Graph components API namespace.

Typedef Documentation

◆ LayerId

Type used to index layers.

◆ PartitionMap

Type used to describe a DistributedNode partition.

The PartitionMap associates node IDs to the rank of the process to which they should be assigned.

◆ NodeMap

template<typename T >
using fpmas::api::graph::NodeMap = typedef typename graph::Graph<graph::DistributedNode<T>, graph::DistributedEdge<T> >::NodeMap

Type used to represent nodes to distribute.

Enumeration Type Documentation

◆ PartitionMode

Defines the partition strategy used when distributing a graph.

Enumerator
PARTITION 

Indicates that a complete partitioning must be computed, independently of the current partitioning of the graph.

REPARTITION 

Indicates that the load balancing algorithm can optimize the new partitioning according to the current partitioning.

◆ LocationState

Enum describing the current state of a DistributedNode or a DistributedEdge.

Enumerator
LOCAL 

A DistributedNode is LOCAL iff it is currently hosted and managed by the current process. A DistributedEdge is LOCAL iff its source and target nodes are LOCAL.

DISTANT 

A DistributedNode is DISTANT iff it is a representation of a Node currently hosted by an other process. A DistributedEdge is DISTANT iff at least of its target and source nodes is DISTANT.

Function Documentation

◆ operator<<() [1/2]

std::ostream & fpmas::api::graph::operator<< ( std::ostream &  os,
const DistributedId id 
)

DistributedId stream output operator.

Parameters
osoutput stream
idid to add to the stream
Returns
os

◆ operator<<() [2/2]

std::ostream & fpmas::api::graph::operator<< ( std::ostream &  os,
const LocationState loc 
)
inline

LocationState stream output operator.

Parameters
osostream
loclocation state
Returns
reference to input ostream