Health-GPS 3.0.0.0
Global Health Policy Simulation model (Health-GPS)
Loading...
Searching...
No Matches
disease_table.h
Go to the documentation of this file.
1#pragma once
2#include <map>
3#include <string>
4
7
8namespace hgps {
9
11struct MeasureKey final {
12 static inline const std::string prevalence{"prevalence"};
13 static inline const std::string mortality{"mortality"};
14 static inline const std::string remission{"remission"};
15 static inline const std::string incidence{"incidence"};
16};
17
21 public:
23 DiseaseMeasure() = default;
24
27 DiseaseMeasure(std::map<int, double> measures);
28
31 std::size_t size() const noexcept;
32
37 double at(int measure_id) const;
38
43 double operator[](int measure_id) const;
44
45 private:
46 std::map<int, double> measures_;
47};
48
52 public:
53 DiseaseTable() = delete;
54
59 DiseaseTable(const core::DiseaseInfo &info, std::map<std::string, int> &&measures,
60 std::map<int, std::map<core::Gender, DiseaseMeasure>> &&data);
61
64 const core::DiseaseInfo &info() const noexcept;
65
68 std::size_t size() const noexcept;
69
72 std::size_t rows() const noexcept;
73
76 std::size_t cols() const noexcept;
77
81 bool contains(const int age) const noexcept;
82
85 const std::map<std::string, int> &measures() const noexcept;
86
91 int at(const std::string &measure) const;
92
97 int operator[](const std::string &measure) const;
98
104 DiseaseMeasure &operator()(const int age, const core::Gender gender);
105
111 const DiseaseMeasure &operator()(const int age, const core::Gender gender) const;
112
113 private:
114 core::DiseaseInfo info_;
115 std::map<std::string, int> measures_;
116 std::map<int, std::map<core::Gender, DiseaseMeasure>> data_;
117};
118} // namespace hgps
Defines the disease measures collection data type.
Definition disease_table.h:20
std::size_t size() const noexcept
Gets the size of the measure collection.
Definition disease_table.cpp:12
double at(int measure_id) const
Gets the measure value by identifier.
Definition disease_table.cpp:14
DiseaseMeasure()=default
Initialises a new instance of the DiseaseMeasure class.
Defines the disease measure table data type.
Definition disease_table.h:51
Top-level namespace for Health-GPS Console host application.
Definition command_options.cpp:8
@ info
General notification and progress message.
Global namespace.
Definition column_iterator.h:123
Disease measures key mapping.
Definition disease_table.h:11
static const std::string prevalence
Definition disease_table.h:12
static const std::string mortality
Definition disease_table.h:13
static const std::string remission
Definition disease_table.h:14
static const std::string incidence
Definition disease_table.h:15
Disease information structure.
Definition disease.h:14