My Project  v0.0.16
Measurement.hpp
Go to the documentation of this file.
1 
2 
3 #ifndef _MP7_Measurement_hpp_
4 #define _MP7_Measurement_hpp_
5 
6 #include <string>
7 #include <ostream>
8 #include <cmath>
9 #include <limits>
10 
11 //#define NaN (0.0 / 0)
12 #define NaN std::numeric_limits<double>::quiet_NaN()
13 
14 namespace mp7 {
15 
16 class Measurement {
17 public:
18  // Measurement() : value ( NaN ) , units ( "" ) , tolerence ( NaN ) , tolerence_units ( "" ) {}
19  // Measurement ( const double& aValue , const std::string& aUnits ) : value ( aValue ) , units ( aUnits ) , tolerence ( NaN ) , tolerence_units ( "" ) {}
20  // Measurement ( const double& aValue , const std::string& aUnits , const double& aTolerence ) : value ( aValue ) , units ( aUnits ) , tolerence ( aTolerence ) , tolerence_units ( aUnits ) {}
21 
22  Measurement(const double& aValue = NaN, const std::string& aUnits = "", const double& aTolerence = NaN, const std::string& aTolerenceUnits = "") : value(aValue), units(aUnits), tolerence(aTolerence), tolerence_units(aTolerenceUnits) {
23  }
24 
25  double value;
26  std::string units;
27 
28  double tolerence;
29  std::string tolerence_units;
30 
31 };
32 
33 std::ostream& operator<<(std::ostream& aStream, const Measurement& aMeasurement);
34 
35 //std::ostream& operator<<(std::ostream& aStream, const Measurement& aMeasurement) {
36 // if (isnan(aMeasurement.value)) {
37 // aStream << "{undefined}";
38 // } else {
39 // aStream << std::dec << aMeasurement.value << aMeasurement.units;
40 //
41 // if (not isnan(aMeasurement.tolerence)) {
42 // aStream << " (+/-" << aMeasurement.tolerence << aMeasurement.tolerence_units << ")";
43 // }
44 // }
45 //
46 // return aStream;
47 //}
48 
49 }
50 
51 #endif /* _MP7_Measurement_hpp_ */
52 
-test-ipbusaccess
Definition: AlignmentNode.hpp:15
Measurement(const double& aValue = NaN, const std::string& aUnits = "", const double& aTolerence = NaN, const std::string& aTolerenceUnits = "")
Definition: Measurement.hpp:22
double tolerence
Definition: Measurement.hpp:28
double value
Definition: Measurement.hpp:25
std::string units
Definition: Measurement.hpp:26
std::ostream& operator<<(std::ostream& aStream, const Measurement& aMeasurement)
Definition: Measurement.cpp:12
std::string tolerence_units
Definition: Measurement.hpp:29