CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxOptionalValue.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 #ifndef CXOPTIONALVALUE_H
13 #define CXOPTIONALVALUE_H
14 
15 #include "cxResourceExport.h"
16 
17 namespace cx
18 {
19 
26 template<class T> class cxResource_EXPORT OptionalValue
27 {
28 public:
29  OptionalValue() : mValid(false) {}
30  explicit OptionalValue(T val) : mValue(val), mValid(val) {}
31  const T& get() const { return mValue; }
32  void set(const T& val) { mValue=val; mValid=true; }
33  bool isValid() const { return mValid; }
34  void reset() { mValid=false; }
35 private:
36  T mValue;
37  bool mValid;
38 };
39 
40 
41 } // namespace cx
42 
43 
44 #endif // CXOPTIONALVALUE_H
bool isValid() const
Namespace for all CustusX production code.