9 #include <gsl/gsl_const_mksa.h> 13 #include <unordered_map> 26 static inline std::string _name;
41 std::transform(
ALL(_name), _name.begin(), tolower);
72 data.save(output, fmt);
81 template<
class T,
class ID>
82 inline static void save(
const T &data,
Format fmt,
const ID &
id) {
84 data.save(output, fmt);
93 throw std::invalid_argument(
nmx_msg);
105 template<
size_t N,
class IDX,
class VTYPE =
double>
110 std::array<VTYPE, N> _result;
119 _result[
static_cast<size_t>(idx)] = val;
130 Check::error_if<std::out_of_range>(
nmx_msg, v.size() !=
N);
131 std::copy(v.begin(), v.end(), std::begin(_result));
139 Check::error_if<std::out_of_range>(
nmx_msg, lst.size() !=
N);
140 std::copy(lst.begin(), lst.end(), std::begin(_result));
147 inline void set_result(std::unordered_map<IDX, VTYPE> args) {
148 Check::error_if<std::out_of_range>(
nmx_msg, args.size() <
N);
149 for (
const auto &val : args) {
150 set_result(val.first, val.second);
161 return _result[
static_cast<size_t>(idx)];
169 inline auto get(IDX idx)
const {
170 return _result[
static_cast<size_t>(idx)];
177 inline const auto &
result()
const {
return _result; }
XModel(const char *name)
XModelBase Konstruktor.
const auto & result() const
result
void set_result(std::initializer_list< VTYPE > lst)
set_result allen Elementen werden Werte zugewiesen
The XModel class Basisklasse speichert eine ID in Form einer Zeichenkette enthält Hilfsfunktionen zur...
void set_result(std::unordered_map< IDX, VTYPE > args)
set_result setze Werte über assoziativen Container
static std::ofstream get_output_stream(Format fmt, const T &id)
get_output_stream
static std::ofstream get_stream(const std::string &fname)
get_output_stream Öffnen einer Ausgabedatei falls die Datei nicht geöffnet werden kann wird ein Fehle...
static void save(const T &data, Format fmt, const ID &id)
save Speicherung von Daten in eine Datei
auto operator()(IDX idx) const
operator () Zugriff auf Element
XModel()=delete
XModelBase kein Standardkonstruktor.
static void save(const T &data, Format fmt)
save Speicherung von Daten in eine Datei
static std::ofstream get_output_stream(Format fmt)
get_output_stream
static std::string class_name()
class_name
The CResult class Speicherung von Rechenergebnissen.
void set_result(IDX idx, VTYPE val)
operator () einem Element wird ein Wert zugewiesen
void set_result(const T &v)
set_result allen Elementen werden Werte zugewiesen