OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
WeakReferenceImpl.hpp
Go to the documentation of this file.
1 /*
2  * Vortex OpenSplice
3  *
4  * This software and documentation are Copyright 2006 to 2021 ADLINK
5  * Technology Limited, its affiliated companies and licensors. All rights
6  * reserved.
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21 #ifndef OSPL_DDS_CORE_WEAK_REFERENCE_IMPL_HPP_
22 #define OSPL_DDS_CORE_WEAK_REFERENCE_IMPL_HPP_
23 
28 /*
29  * OMG PSM class declaration
30  */
33 
34 
35 // Implementation
36 namespace dds
37 {
38 namespace core
39 {
40 
41 template <typename T>
43 
44 template <typename T>
46 {
47  if (!t.is_nil()) {
48  impl_ = t.delegate();
49  }
50 }
51 
52 
53 template <typename T>
55 
56 template <typename T>
58 {
59  return impl_.expired();
60 }
61 
62 template <typename T>
64 {
65  return T(impl_.lock());
66 }
67 }
68 }
69 // End of implementation
70 
71 #endif /* OSPL_DDS_CORE_WEAK_REFERENCE_IMPL_HPP_ */
The WeakReference class enables you to maintain a weak reference to a DDS reference type...
Definition: array.hpp:23