fpmas 1.6
load_balancing.h
Go to the documentation of this file.
1#ifndef FPMAS_LOAD_BALANCING_API_H
2#define FPMAS_LOAD_BALANCING_API_H
3
10
11namespace fpmas { namespace api { namespace graph {
18 typedef std::unordered_map<DistributedId, int, api::graph::IdHash<DistributedId>>
20
24 template<typename T>
26
41 };
42
46 template<typename T>
48 public:
49
54 HEDLEY_DEPRECATED_FOR(1.2, balance(NodeMap<T>, PartitionMap, PartitionMode))
56 NodeMap<T> nodes,
57 PartitionMap fixed_vertices
58 ) = 0;
59
80 NodeMap<T> nodes,
81 PartitionMap fixed_vertices,
82 PartitionMode partition_mode
83 ) = 0;
84
85 virtual ~FixedVerticesLoadBalancing() {}
86 };
87
91 template<typename T>
93 public:
94
99 HEDLEY_DEPRECATED_FOR(1.2, balance(NodeMap<T>, PartitionMode))
100 virtual PartitionMap balance(NodeMap<T> nodes) = 0;
101
117 NodeMap<T> nodes, PartitionMode partition_mode
118 ) = 0;
119
120 virtual ~LoadBalancing() {}
121 };
122
123}}}
124#endif
Definition: distributed_edge.h:91
Definition: load_balancing.h:47
virtual PartitionMap balance(NodeMap< T > nodes, PartitionMap fixed_vertices)=0
Definition: graph.h:21
Definition: load_balancing.h:92
virtual PartitionMap balance(NodeMap< T > nodes)=0
std::unordered_map< DistributedId, int, api::graph::IdHash< DistributedId > > PartitionMap
Definition: load_balancing.h:19
PartitionMode
Definition: load_balancing.h:30
@ REPARTITION
Definition: load_balancing.h:40
@ PARTITION
Definition: load_balancing.h:35
typename graph::Graph< graph::DistributedNode< T >, graph::DistributedEdge< T > >::NodeMap NodeMap
Definition: load_balancing.h:25
Definition: fpmas.cpp:3