Ultra 0.9.4
Loading...
Searching...
No Matches
model_measurements.h
Go to the documentation of this file.
1
12
13#if !defined(ULTRA_MODEL_MEASUREMENTS_H)
14#define ULTRA_MODEL_MEASUREMENTS_H
15
16#include <optional>
17
18#include "kernel/fitness.h"
19#include "utility/misc.h"
20
21namespace ultra
22{
26template<Fitness F>
27struct model_measurements
28{
29 model_measurements() = default;
30 model_measurements(const F &, double);
31
32 [[nodiscard]] bool empty() const noexcept;
33
34 [[nodiscard]] friend bool operator==(
35 const model_measurements &, const model_measurements &) noexcept = default;
36
37 // --- Serialization ---
38 [[nodiscard]] bool load(std::istream &);
39 [[nodiscard]] bool save(std::ostream &) const;
40
41 std::optional<F> fitness {};
42 std::optional<double> accuracy {};
43};
44
45template<Fitness F>
46[[nodiscard]] auto operator<=>(const model_measurements<F> &,
47 const model_measurements<F> &) noexcept;
48
50
51} // namespace ultra
52
53#endif // include guard
STL namespace.
auto operator<=>(const model_measurements< F > &, const model_measurements< F > &) noexcept
Definition model_measurements.h:46
Definition model_measurements.h:28
bool save(std::ostream &) const
Definition model_measurements.h:109
bool load(std::istream &)
Definition model_measurements.h:71
bool empty() const noexcept
Definition model_measurements.h:32