Program Listing for File IRefineStrategy.h¶
↰ Return to documentation for file (src/partition/refine/strategy/IRefineStrategy.h)
#ifndef PARTITION_REFINE_STRATEGY_IREFINESTRATEGY_H_
#define PARTITION_REFINE_STRATEGY_IREFINESTRATEGY_H_
#include "../core/RefineTypes.h"
class IRefineStrategy {
public:
virtual ~IRefineStrategy() = default;
virtual const char *name() const = 0;
virtual double run(RefinePassContext &context) = 0;
};
class FMLikeStrategyBase : public IRefineStrategy {
public:
FMLikeStrategyBase() = default;
~FMLikeStrategyBase() override = default;
static vector<int> collectBoundaryVertices(const graph &finest,
const vector<int> &parts,
const vector<bool> &visited,
int k);
static vector<int> collectBoundaryNets(const graph &finest,
const vector<int> &parts, int k);
static set<int> collectUnvisitedNeighbors(const graph &finest, int vertex,
const vector<bool> &visited, int k);
};
#endif