#ifndef RBERVERTEXPARTITION_H
#define RBERVERTEXPARTITION_H

#include "LinearResolutionParameterVertexPartition.h"

class LIBLEIDENALG_EXPORT RBERVertexPartition : public LinearResolutionParameterVertexPartition {
public:
  RBERVertexPartition(Graph *graph, vector<size_t> const &membership, double resolution_parameter);
  RBERVertexPartition(Graph *graph, vector<size_t> const &membership);
  RBERVertexPartition(Graph *graph, double resolution_parameter);
  RBERVertexPartition(Graph *graph);
  virtual ~RBERVertexPartition();
  virtual RBERVertexPartition *create(Graph *graph);
  virtual RBERVertexPartition *create(Graph *graph, vector<size_t> const &membership);

  virtual double diff_move(size_t v, size_t new_comm);
  virtual double quality(double resolution_parameter);

protected:
private:
};

#endif // RBERVERTEXPARTITION_H
