FNSS C++ library
C++ API for the Fast Network Simulation Setup (FNSS) toolchain
 All Classes Functions Typedefs Pages
quantity.h
1 #ifndef QUANTITY_H
2 #define QUANTITY_H
3 
4 #include "measurement-unit.h"
5 
6 #include <string>
7 
8 namespace fnss {
9 
16 class Quantity {
17 public:
26  Quantity(const double &value_, const std::string &unit_,
27  const MeasurementUnit &converter_);
28 
40  Quantity(const double &value_, const MeasurementUnit &converter_);
41 
52  Quantity(const std::string &str, const MeasurementUnit &converter_);
53 
60  Quantity(const MeasurementUnit &converter_);
61 
68  void fromString(const std::string &str);
69 
80  std::string toString(const std::string &separator="") const;
81 
87  void convert(const std::string &unit);
88 
94  double getValue() const;
95 
101  void setValue(const double &value);
102 
108  std::string getUnit() const;
109 
115  void setUnit(const std::string &unit);
116 
123  const MeasurementUnit& getMeasurementUnit() const;
124 
132  Quantity& operator=(const Quantity &other);
133 
137  bool operator<(const Quantity &other) const;
138 
142  bool operator<=(const Quantity &other) const;
143 
147  bool operator>(const Quantity &other) const;
148 
152  bool operator>=(const Quantity &other) const;
153 
157  bool operator==(const Quantity &other) const;
158 
159 private:
160  double value; //The numerical value of the quantity.
161  std::string unit; //The measurement unit of the quantity.
162  const MeasurementUnit &converter; //The "type" of the unit, used for
163  //comparisons and conversions.
164 };
165 
166 } //namespace
167 
168 #endif //QUANTITY_H
void fromString(const std::string &str)
Definition: quantity.cpp:22
Definition: measurement-unit.h:10
bool operator>=(const Quantity &other) const
Definition: quantity.cpp:86
void setValue(const double &value)
Definition: quantity.cpp:45
double getValue() const
Definition: quantity.cpp:41
void setUnit(const std::string &unit)
Definition: quantity.cpp:53
bool operator>(const Quantity &other) const
Definition: quantity.cpp:81
std::string toString(const std::string &separator="") const
Definition: quantity.cpp:30
const MeasurementUnit & getMeasurementUnit() const
Definition: quantity.cpp:57
std::string getUnit() const
Definition: quantity.cpp:49
Quantity(const double &value_, const std::string &unit_, const MeasurementUnit &converter_)
Definition: quantity.cpp:7
bool operator<=(const Quantity &other) const
Definition: quantity.cpp:76
bool operator<(const Quantity &other) const
Definition: quantity.cpp:71
void convert(const std::string &unit)
Definition: quantity.cpp:36
Quantity & operator=(const Quantity &other)
Definition: quantity.cpp:61
bool operator==(const Quantity &other) const
Definition: quantity.cpp:91
Definition: quantity.h:16