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
*/
31
#include <
dds/core/detail/ReferenceImpl.hpp
>
32
#include <
dds/core/WeakReference.hpp
>
33
34
35
// Implementation
36
namespace
dds
37
{
38
namespace
core
39
{
40
41
template
<
typename
T>
42
WeakReference<T>::WeakReference
() { }
43
44
template
<
typename
T>
45
WeakReference<T>::WeakReference
(
const
T& t)
46
{
47
if
(!t.is_nil()) {
48
impl_ = t.delegate();
49
}
50
}
51
52
53
template
<
typename
T>
54
WeakReference<T>::~WeakReference
() { }
55
56
template
<
typename
T>
57
bool
WeakReference<T>::expired
()
58
{
59
return
impl_.expired();
60
}
61
62
template
<
typename
T>
63
T
WeakReference<T>::lock
()
64
{
65
return
T(impl_.lock());
66
}
67
}
68
}
69
// End of implementation
70
71
#endif
/* OSPL_DDS_CORE_WEAK_REFERENCE_IMPL_HPP_ */
dds::core::WeakReference
The WeakReference class enables you to maintain a weak reference to a DDS reference type...
Definition:
WeakReference.hpp:29
dds::core::WeakReference::lock
T lock()
Definition:
WeakReferenceImpl.hpp:63
dds::core::WeakReference::expired
bool expired()
Definition:
WeakReferenceImpl.hpp:57
ReferenceImpl.hpp
WeakReference.hpp
dds
Definition:
array.hpp:23
dds::core::WeakReference::WeakReference
WeakReference()
Definition:
WeakReferenceImpl.hpp:42
include
dcps
C++
isocpp2
dds
core
detail
WeakReferenceImpl.hpp
Generated by
1.8.13