Program Listing for File execution_metrics.hpp
↰ Return to documentation for file (cosm/ta/metrics/execution_metrics.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include "rcppsw/common/common.hpp"
#include "rcppsw/metrics/base_metrics.hpp"
#include "cosm/ta/time_estimate.hpp"
#include "rcppsw/types/timestep.hpp"
#include "rcppsw/rcppsw.hpp"
/*******************************************************************************
* Namespaces/Decls
******************************************************************************/
namespace cosm::ta::metrics {
/*******************************************************************************
* Class Definitions
******************************************************************************/
class execution_metrics : public virtual rmetrics::base_metrics {
public:
execution_metrics(void) = default;
~execution_metrics(void) override = default;
virtual bool task_at_interface(void) const = 0;
virtual rtypes::timestep task_last_exec_time(void) const = 0;
virtual rtypes::timestep task_last_interface_time(size_t i) const = 0;
virtual bool task_completed(void) const = 0;
virtual bool task_aborted(void) const = 0;
virtual const ta::time_estimate& task_exec_estimate(void) const = 0;
virtual const ta::time_estimate& task_interface_estimate(size_t i) const = 0;
virtual int task_last_active_interface(void) const = 0;
};
} /* namespace cosm::ta::metrics */