00001 #pragma once
00002
00003 #include <string>
00004 #include <vector>
00005
00006 namespace FDR
00007 {
00008 namespace Evaluator
00009 {
00011 template <class R>
00012 class EvaluatorResult
00013 {
00014 public:
00015 EvaluatorResult(const std::vector<std::string>& warnings, const R& result) : result_(result), warnings_(warnings)
00016 {
00017 }
00018
00019 EvaluatorResult(const EvaluatorResult<R>&) = default;
00020 EvaluatorResult<R>& operator=(const EvaluatorResult<R>&) = default;
00021
00023 const R& result() const
00024 {
00025 return result_;
00026 }
00027
00029 const std::vector<std::string>& warnings() const
00030 {
00031 return warnings_;
00032 }
00033
00034 private:
00035 R result_;
00036 std::vector<std::string> warnings_;
00037 };
00038
00039 }
00040 }