GEGELATI
evaluationResult.h
1
36#ifndef EVALUATION_RESULT_H
37#define EVALUATION_RESULT_H
38
39#include <memory>
40
41namespace Learn {
52 {
53 protected:
55 double result;
56
59
60 public:
64 EvaluationResult() = delete;
65
69 virtual ~EvaluationResult() = default;
70
79 EvaluationResult(const double& res, const size_t& nbEval)
80 : result{res}, nbEvaluation{nbEval} {};
81
86 virtual double getResult() const;
87
92 virtual size_t getNbEvaluation() const;
93
101 virtual EvaluationResult& operator+=(const EvaluationResult& other);
102 };
103
108 bool operator<(const EvaluationResult& a, const EvaluationResult& b);
109} // namespace Learn
110
111namespace std {
113 template <> struct less<std::shared_ptr<Learn::EvaluationResult>>
114 {
116 bool operator()(const std::shared_ptr<Learn::EvaluationResult>& a,
117 const std::shared_ptr<Learn::EvaluationResult>& b) const
118 {
119 return *a < *b;
120 }
121 };
122}; // namespace std
123
124#endif
Base class for storing all result of a policy evaluation within a LearningEnvironment.
Definition: evaluationResult.h:52
size_t nbEvaluation
Number of evaluation leading to this result.
Definition: evaluationResult.h:58
virtual double getResult() const
Virtual method to get the default double equivalent of the EvaluationResult.
Definition: evaluationResult.cpp:39
virtual size_t getNbEvaluation() const
Virtual method to get the default number of evaluation of the EvaluationResult.
Definition: evaluationResult.cpp:44
double result
Double value for the result.
Definition: evaluationResult.h:55
virtual ~EvaluationResult()=default
Virtual destructor for polymorphism.
virtual EvaluationResult & operator+=(const EvaluationResult &other)
Polymorphic addition assignement operator for EvaluationResult.
Definition: evaluationResult.cpp:49
EvaluationResult(const double &res, const size_t &nbEval)
Construct a result from a simple double value.
Definition: evaluationResult.h:79
EvaluationResult()=delete
Deleted default constructor.
Definition: adversarialEvaluationResult.h:45
bool operator<(const EvaluationResult &a, const EvaluationResult &b)
Comparison function to enable sorting of EvaluationResult with STL.
Definition: evaluationResult.cpp:73
bool operator()(const std::shared_ptr< Learn::EvaluationResult > &a, const std::shared_ptr< Learn::EvaluationResult > &b) const
Comparison operator for sorted containers.
Definition: evaluationResult.h:116