TR-mbed 1.0
Loading...
Searching...
No Matches
SafeScalar.h
Go to the documentation of this file.
1
2// A Scalar that asserts for uninitialized access.
3template<typename T>
4class SafeScalar {
5 public:
6 SafeScalar() : initialized_(false) {}
7 SafeScalar(const SafeScalar& other) {
8 *this = other;
9 }
11 val_ = T(other);
12 initialized_ = true;
13 return *this;
14 }
15
16 SafeScalar(T val) : val_(val), initialized_(true) {}
18 val_ = val;
19 initialized_ = true;
20 }
21
22 operator T() const {
23 VERIFY(initialized_ && "Uninitialized access.");
24 return val_;
25 }
26
27 private:
28 T val_;
29 bool initialized_;
30};
Eigen::Triplet< double > T
Definition Tutorial_sparse_example.cpp:6
Definition SafeScalar.h:4
SafeScalar & operator=(const SafeScalar &other)
Definition SafeScalar.h:10
SafeScalar()
Definition SafeScalar.h:6
SafeScalar(const SafeScalar &other)
Definition SafeScalar.h:7
SafeScalar(T val)
Definition SafeScalar.h:16
SafeScalar & operator=(T val)
Definition SafeScalar.h:17
#define VERIFY(a)
Definition main.h:380