Program Listing for File manipulation_metrics.hpp

Return to documentation for file (cosm/controller/metrics/manipulation_metrics.hpp)

#pragma once

/*******************************************************************************
 * Includes
 ******************************************************************************/
#include "rcppsw/metrics/base_metrics.hpp"
#include "cosm/cosm.hpp"
#include "rcppsw/types/timestep.hpp"

/*******************************************************************************
 * Namespaces
 ******************************************************************************/
namespace cosm::controller::metrics {

/*******************************************************************************
 * Class Definitions
 ******************************************************************************/
class manipulation_metrics : public virtual rmetrics::base_metrics {
 public:
  manipulation_metrics(void) = default;
  ~manipulation_metrics(void) override = default;

  virtual bool status(uint event) const = 0;

  virtual rtypes::timestep penalty(uint event) const = 0;
};

} /* namespace cosm::controller::metrics */