DDS-PSM-C++  1.0
ISO C++ API for OpenSplice DDS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Optional.hpp
Go to the documentation of this file.
1 #ifndef OMG_DDS_CORE_OPTIONAL_HPP_
2 #define OMG_DDS_CORE_OPTIONAL_HPP_
3 
4 
5 /* Copyright 2010, Object Management Group, Inc.
6  * Copyright 2010, PrismTech, Inc.
7  * Copyright 2010, Real-Time Innovations, Inc.
8  * All rights reserved.
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  */
22 
23 namespace dds { namespace core {
24 
30  template <typename T, template <typename Q> class DELEGATE>
31  class optional : public dds::core::Value< DELEGATE<T> > {
32  public:
33  optional(const T& t);
34 
35  public:
39  bool is_set() const;
40 
44  void reset();
45 
49  const T& get() const;
50 
54  T& get();
55  };
56 
57 } }
58 #endif /* OMG_DDS_CORE_OPTIONAL_HPP_ */