CXXGraph  0.4.0
CXXGraph is a header only, that manages the Graphs and it's algorithm in C++
PartitionState.hpp
1 /***********************************************************/
2 /*** ______ ____ ______ _ ***/
3 /*** / ___\ \/ /\ \/ / ___|_ __ __ _ _ __ | |__ ***/
4 /*** | | \ / \ / | _| '__/ _` | '_ \| '_ \ ***/
5 /*** | |___ / \ / \ |_| | | | (_| | |_) | | | | ***/
6 /*** \____/_/\_\/_/\_\____|_| \__,_| .__/|_| |_| ***/
7 /*** |_| ***/
8 /***********************************************************/
9 /*** Header-Only C++ Library for Graph ***/
10 /*** Representation and Algorithms ***/
11 /***********************************************************/
12 /*** Author: ZigRazor ***/
13 /*** E-Mail: zigrazor@gmail.com ***/
14 /***********************************************************/
15 /*** Collaboration: ----------- ***/
16 /***********************************************************/
17 /*** License: AGPL v3.0 ***/
18 /***********************************************************/
19 
20 #ifndef __CXXGRAPH_PARTITIONING_PARTITIONSTATE_H__
21 #define __CXXGRAPH_PARTITIONING_PARTITIONSTATE_H__
22 
23 #pragma once
24 
25 #include "Record.hpp"
26 
27 namespace CXXGRAPH
28 {
29  namespace PARTITIONING
30  {
31  template <typename T>
33  {
34  public:
35  virtual std::shared_ptr<Record<T>> getRecord(int x) = 0;
36  virtual int getMachineLoad(int m) = 0;
37  virtual int getMachineLoadVertices(int m) = 0;
38  virtual void incrementMachineLoad(int m,const Edge<T>* e) = 0;
39  virtual int getMinLoad() = 0;
40  virtual int getMaxLoad() = 0;
41  virtual std::vector<int> getMachines_load() = 0;
42  virtual int getTotalReplicas() = 0;
43  virtual int getNumVertices() = 0;
44  virtual std::set<int> getVertexIds() = 0;
45  };
46  }
47 }
48 
49 #endif // __CXXGRAPH_PARTITIONING_PARTITIONSTATE_H__
Definition: Edge.hpp:39
Definition: PartitionState.hpp:33