OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
SharedSamplesImpl.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_SUB_SHARED_SAMPLES_IMPL_HPP_
22 #define OSPL_DDS_SUB_SHARED_SAMPLES_IMPL_HPP_
23 
28 /*
29  * OMG PSM class declaration
30  */
31 
32 // Implementation
33 
34 namespace dds
35 {
36 namespace sub
37 {
38 
39 template <typename T>
40 SharedSamples<T>::SharedSamples() : delegate_(new DELEGATE<T>()) { }
41 
42 template <typename T>
43 SharedSamples<T>::SharedSamples(dds::sub::LoanedSamples<T> ls) : delegate_(new DELEGATE<T>(ls)) { }
44 
45 template <typename T>
47 
48 template <typename T>
50 {
51  delegate_ = other.delegate_;
52 }
53 
54 template <typename T>
56 {
57  return delegate()->begin();
58 }
59 
60 template <typename T>
62 {
63  return delegate()->end();
64 }
65 
66 template <typename T>
68 {
69  return delegate_;
70 }
71 
72 template <typename T>
74 {
75  return delegate_;
76 }
77 
78 template <typename T>
79 uint32_t SharedSamples<T>::length() const
80 {
81  return delegate_->length();
82 }
83 
84 }
85 }
86 
87 // End of implementation
88 
89 #endif /* OSPL_DDS_SUB_SHARED_SAMPLES_IMPL_HPP_ */
const_iterator begin() const
const DELEGATE_REF_T & delegate() const
Definition: array.hpp:23
dds::core::smart_ptr_traits::ref_type DELEGATE_REF_T
This class encapsulates and automates the management of loaned samples.
const_iterator end() const
This class encapsulates and automates the management of loaned samples.
DELEGATE< T >::const_iterator const_iterator