Program Listing for File IAlgorithm.hpp

Return to documentation for file (mimir/IAlgorithm.hpp)

#pragma once

#include <atomic>

namespace mimir
{
  class IAlgorithm
  {
  public:
    virtual ~IAlgorithm() {};
    virtual void solve(const std::atomic<bool>& cancel_token) = 0;
    virtual void initialize(const std::atomic<bool>& cancel_token) = 0;
    virtual void timer(const std::atomic<bool>& cancel_token) = 0;
    virtual const char* name() = 0;
  };
}