Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / Array_VarOut_T.inl
blob797943fbe41fafa738d7500396c7800d76ec2bfc
1 // -*- C++ -*-
2 //
3 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
5 template<typename T, typename T_slice, typename TAG>
6 ACE_INLINE
7 TAO_Array_Var_Base_T<T,T_slice,TAG>::TAO_Array_Var_Base_T ()
8   : ptr_ (nullptr)
9 {}
11 template<typename T, typename T_slice, typename TAG>
12 ACE_INLINE
13 TAO_Array_Var_Base_T<T,T_slice,TAG>::TAO_Array_Var_Base_T (T_slice * p)
14   : ptr_ (p)
17 template<typename T, typename T_slice, typename TAG>
18 ACE_INLINE
19 TAO_Array_Var_Base_T<T,T_slice,TAG>::TAO_Array_Var_Base_T (
20     const TAO_Array_Var_Base_T & p)
22   this->ptr_ = TAO::Array_Traits<FORANY>::dup (p.in ());
25 template<typename T, typename T_slice, typename TAG>
26 ACE_INLINE
27 TAO_Array_Var_Base_T<T,T_slice,TAG>::~TAO_Array_Var_Base_T ()
29   TAO::Array_Traits<FORANY>::free (this->ptr_);
32 template<typename T, typename T_slice, typename TAG>
33 ACE_INLINE
34 TAO_Array_Var_Base_T<T,T_slice,TAG>::operator T_slice * const & () const
36   return this->ptr_;
39 template<typename T, typename T_slice, typename TAG>
40 ACE_INLINE
41 T_slice const &
42 TAO_Array_Var_Base_T<T,T_slice,TAG>::operator[] (CORBA::ULong index) const
44   return this->ptr_[index];
47 template<typename T, typename T_slice, typename TAG>
48 ACE_INLINE
49 T_slice &
50 TAO_Array_Var_Base_T<T,T_slice,TAG>::operator[] (CORBA::ULong index)
52   return this->ptr_[index];
55 template<typename T, typename T_slice, typename TAG>
56 ACE_INLINE
57 const T_slice *
58 TAO_Array_Var_Base_T<T,T_slice,TAG>::in () const
60   return const_cast<const T_slice *>(this->ptr_);
63 template<typename T, typename T_slice, typename TAG>
64 ACE_INLINE
65 T_slice *
66 TAO_Array_Var_Base_T<T,T_slice,TAG>::inout ()
68   return this->ptr_;
71 template<typename T, typename T_slice, typename TAG>
72 ACE_INLINE
73 T_slice *&
74 TAO_Array_Var_Base_T<T,T_slice,TAG>::_retn_arg ()
76   TAO::Array_Traits<FORANY>::free (this->ptr_);
77   this->ptr_ = nullptr;
78   return this->ptr_;
81 template<typename T, typename T_slice, typename TAG>
82 ACE_INLINE
83 T_slice *
84 TAO_Array_Var_Base_T<T,T_slice,TAG>::_retn ()
86   T_slice * tmp = this->ptr_;
87   this->ptr_ = nullptr;
88   return tmp;
91 template<typename T, typename T_slice, typename TAG>
92 ACE_INLINE
93 T_slice *
94 TAO_Array_Var_Base_T<T,T_slice,TAG>::ptr () const
96   return this->ptr_;
99 // *************************************************************
101 template<typename T, typename T_slice, typename TAG>
102 ACE_INLINE
103 TAO_FixedArray_Var_T<T,T_slice,TAG>::TAO_FixedArray_Var_T ()
106 template<typename T, typename T_slice, typename TAG>
107 ACE_INLINE
108 TAO_FixedArray_Var_T<T,T_slice,TAG>::TAO_FixedArray_Var_T (T_slice * p)
109   : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
112 template<typename T, typename T_slice, typename TAG>
113 ACE_INLINE
114 TAO_FixedArray_Var_T<T,T_slice,TAG>::TAO_FixedArray_Var_T (
115     const TAO_FixedArray_Var_T & p)
116   : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
120 template<typename T, typename T_slice, typename TAG>
121 ACE_INLINE
122 T_slice *
123 TAO_FixedArray_Var_T<T,T_slice,TAG>::out ()
125   return this->ptr_;
128 // *************************************************************
130 template<typename T, typename T_slice, typename TAG>
131 ACE_INLINE
132 TAO_VarArray_Var_T<T,T_slice,TAG>::TAO_VarArray_Var_T ()
135 template<typename T, typename T_slice, typename TAG>
136 ACE_INLINE
137 TAO_VarArray_Var_T<T,T_slice,TAG>::TAO_VarArray_Var_T (T_slice * p)
138   : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
141 template<typename T, typename T_slice, typename TAG>
142 ACE_INLINE
143 TAO_VarArray_Var_T<T,T_slice,TAG>::TAO_VarArray_Var_T (
144     const TAO_VarArray_Var_T & p)
145   : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
148 template<typename T, typename T_slice, typename TAG>
149 ACE_INLINE
150 TAO_VarArray_Var_T<T,T_slice,TAG>::operator T_slice *& ()
152   return this->ptr_;
155 template<typename T, typename T_slice, typename TAG>
156 ACE_INLINE
157 T_slice *&
158 TAO_VarArray_Var_T<T,T_slice,TAG>::out ()
160   TAO::Array_Traits<FORANY>::free (this->ptr_);
161   this->ptr_ = nullptr;
162   return this->ptr_;
165 // *************************************************************
167 template<typename T, typename T_var, typename T_slice, typename TAG>
168 ACE_INLINE
169 TAO_Array_Out_T<T,T_var,T_slice,TAG>::TAO_Array_Out_T (T_slice *& p)
170   : ptr_ (p)
172   this->ptr_ = nullptr;
175 template<typename T, typename T_var, typename T_slice, typename TAG>
176 ACE_INLINE
177 TAO_Array_Out_T<T,T_var,T_slice,TAG>::TAO_Array_Out_T (T_var & p)
178   : ptr_ (p.out ())
180   TAO::Array_Traits<FORANY>::free (this->ptr_);
181   this->ptr_ = nullptr;
184 template<typename T, typename T_var, typename T_slice, typename TAG>
185 ACE_INLINE
186 TAO_Array_Out_T<T,T_var,T_slice,TAG>::TAO_Array_Out_T (
187     const TAO_Array_Out_T<T,T_var,T_slice,TAG> & p)
188   : ptr_ (const_cast<THIS_OUT_TYPE &> (p).ptr_)
191 template<typename T, typename T_var, typename T_slice, typename TAG>
192 ACE_INLINE
193 TAO_Array_Out_T<T,T_var,T_slice,TAG> &
194 TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator= (
195     const TAO_Array_Out_T<T,T_var,T_slice,TAG> & p)
197   this->ptr_ = const_cast<THIS_OUT_TYPE &> (p).ptr_;
198   return *this;
201 template<typename T, typename T_var, typename T_slice, typename TAG>
202 ACE_INLINE
203 TAO_Array_Out_T<T,T_var,T_slice,TAG> &
204 TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator= (T_slice *p)
206   this->ptr_ = p;
207   return *this;
210 template<typename T, typename T_var, typename T_slice, typename TAG>
211 ACE_INLINE
212 TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator T_slice *& ()
214   return this->ptr_;
217 template<typename T, typename T_var, typename T_slice, typename TAG>
218 ACE_INLINE
219 T_slice &
220 TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator[] (CORBA::ULong index)
222   return this->ptr_[index];
225 template<typename T, typename T_var, typename T_slice, typename TAG>
226 ACE_INLINE
227 T_slice *&
228 TAO_Array_Out_T<T,T_var,T_slice,TAG>::ptr ()
230   return this->ptr_;
233 // *************************************************************
235 template<typename T, typename T_slice, typename TAG>
236 ACE_INLINE
237 TAO_Array_Forany_T<T,T_slice,TAG>::TAO_Array_Forany_T ()
238   : ptr_ (nullptr),
239     nocopy_ (false)
242 template<typename T, typename T_slice, typename TAG>
243 ACE_INLINE
244 TAO_Array_Forany_T<T,T_slice,TAG>::TAO_Array_Forany_T (
245     T_slice * p,
246     CORBA::Boolean nocopy)
247   : ptr_ (p),
248     nocopy_ (nocopy)
251 template<typename T, typename T_slice, typename TAG>
252 ACE_INLINE
253 TAO_Array_Forany_T<T,T_slice,TAG>::TAO_Array_Forany_T (
254     const TAO_Array_Forany_T<T,T_slice,TAG> & p)
255   : ptr_ (p.ptr_),
256     nocopy_ (p.nocopy_)
260 template<typename T, typename T_slice, typename TAG>
261 ACE_INLINE
262 TAO_Array_Forany_T<T,T_slice,TAG>::~TAO_Array_Forany_T ()
266 template<typename T, typename T_slice, typename TAG>
267 ACE_INLINE
268 TAO_Array_Forany_T<T,T_slice,TAG> &
269 TAO_Array_Forany_T<T,T_slice,TAG>::operator= (T_slice * p)
271   this->ptr_ = p;
272   return *this;
275 template<typename T, typename T_slice, typename TAG>
276 ACE_INLINE
277 TAO_Array_Forany_T<T,T_slice,TAG> &
278 TAO_Array_Forany_T<T,T_slice,TAG>::operator= (
279     const TAO_Array_Forany_T<T,T_slice,TAG> & p)
281   this->ptr_ = p.ptr_;
282   this->nocopy_ = p.nocopy_;
283   return *this;
286 template<typename T, typename T_slice, typename TAG>
287 ACE_INLINE
288 TAO_Array_Forany_T<T,T_slice,TAG>::operator T_slice * const & () const
290   return this->ptr_;
293 template<typename T, typename T_slice, typename TAG>
294 ACE_INLINE
295 TAO_Array_Forany_T<T,T_slice,TAG>::operator T_slice *& ()
297   return this->ptr_;
300 template<typename T, typename T_slice, typename TAG>
301 ACE_INLINE
302 const T_slice &
303 TAO_Array_Forany_T<T,T_slice,TAG>::operator[] (CORBA::ULong index) const
305   const T_slice & tmp = this->ptr_[index];
306   return tmp;
309 template<typename T, typename T_slice, typename TAG>
310 ACE_INLINE
311 T_slice &
312 TAO_Array_Forany_T<T,T_slice,TAG>::operator[] (CORBA::ULong index)
314   return this->ptr_[index];
317 template<typename T, typename T_slice, typename TAG>
318 ACE_INLINE
319 const T_slice *
320 TAO_Array_Forany_T<T,T_slice,TAG>::in () const
322   return this->ptr_;
325 template<typename T, typename T_slice, typename TAG>
326 ACE_INLINE
327 T_slice *
328 TAO_Array_Forany_T<T,T_slice,TAG>::inout ()
330   return this->ptr_;
333 template<typename T, typename T_slice, typename TAG>
334 ACE_INLINE
335 T_slice *&
336 TAO_Array_Forany_T<T,T_slice,TAG>::out ()
338   return this->ptr_;
341 template<typename T, typename T_slice, typename TAG>
342 ACE_INLINE
343 T_slice *
344 TAO_Array_Forany_T<T,T_slice,TAG>::_retn ()
346   return this->ptr_;
349 template<typename T, typename T_slice, typename TAG>
350 ACE_INLINE
351 CORBA::Boolean
352 TAO_Array_Forany_T<T,T_slice,TAG>::nocopy () const
354   return this->nocopy_;
357 template<typename T, typename T_slice, typename TAG>
358 ACE_INLINE
359 T_slice *
360 TAO_Array_Forany_T<T,T_slice,TAG>::ptr () const
362   return this->ptr_;
365 template<typename T, typename T_slice, typename TAG>
366 ACE_INLINE
367 T_slice *
368 TAO_Array_Forany_T<T,T_slice,TAG>::tao_alloc ()
370   return TAO::Array_Traits<FORANY>::alloc ();
373 TAO_END_VERSIONED_NAMESPACE_DECL