Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / AnyTypeCode / Any.inl
bloba7a0d0001b564359a3f3870274f4b71aedd7c9dd
1 // -*- C++ -*-
2 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
4 ACE_INLINE TAO::Any_Impl *
5 CORBA::Any::impl () const
7   return this->impl_;
10 // *************************************************************
11 // Inline operations for class CORBA::Any_var
12 // *************************************************************
14 ACE_INLINE
15 CORBA::Any_var::Any_var ()
16   : ptr_ (nullptr)
20 ACE_INLINE
21 CORBA::Any_var::Any_var (CORBA::Any *p)
22   : ptr_ (p)
26 ACE_INLINE
27 CORBA::Any_var::~Any_var ()
29   delete this->ptr_;
32 ACE_INLINE
33 CORBA::Any_var::operator CORBA::Any *&()
35   return this->ptr_;
38 ACE_INLINE
39 CORBA::Any_var::operator const CORBA::Any *() const
41   return this->ptr_;
44 ACE_INLINE CORBA::Any *
45 CORBA::Any_var::operator-> ()
47   return this->ptr_;
50 ACE_INLINE const CORBA::Any &
51 CORBA::Any_var::in () const
53   return *this->ptr_;
56 ACE_INLINE CORBA::Any &
57 CORBA::Any_var::inout ()
59   return *this->ptr_;
62 ACE_INLINE CORBA::Any *&
63 CORBA::Any_var::out ()
65   delete this->ptr_;
66   this->ptr_ = nullptr;
67   return this->ptr_;
70 ACE_INLINE CORBA::Any *
71 CORBA::Any_var::_retn ()
73   CORBA::Any *temp = this->ptr_;
74   this->ptr_ = nullptr;
75   return temp;
78 ACE_INLINE CORBA::Any *
79 CORBA::Any_var::ptr () const
81   return this->ptr_;
84 // *************************************************************
85 // CORBA::Any_var insertion operators
86 // *************************************************************
88 namespace CORBA
91 ACE_INLINE void
92 operator <<= (CORBA::Any_var &lhs, CORBA::Short rhs)
94   lhs.inout () <<= rhs;
97 ACE_INLINE void
98 operator <<= (CORBA::Any_var &lhs, CORBA::UShort rhs)
100   lhs.inout () <<= rhs;
103 ACE_INLINE void
104 operator <<= (CORBA::Any_var &lhs, CORBA::Long rhs)
106   lhs.inout () <<= rhs;
109 ACE_INLINE void
110 operator <<= (CORBA::Any_var &lhs, CORBA::ULong rhs)
112   lhs.inout () <<= rhs;
115 ACE_INLINE void
116 operator <<= (CORBA::Any_var &lhs, CORBA::LongLong rhs)
118   lhs.inout () <<= rhs;
121 ACE_INLINE void
122 operator <<= (CORBA::Any_var &lhs, CORBA::ULongLong rhs)
124   lhs.inout () <<= rhs;
127 ACE_INLINE void
128 operator <<= (CORBA::Any_var &lhs, CORBA::Float rhs)
130   lhs.inout () <<= rhs;
133 ACE_INLINE void
134 operator <<= (CORBA::Any_var &lhs, CORBA::Double rhs)
136   lhs.inout () <<= rhs;
139 ACE_INLINE void
140 operator <<= (CORBA::Any_var &lhs, const CORBA::Any& rhs)
142   lhs.inout () <<= rhs;
145 ACE_INLINE void
146 operator <<= (CORBA::Any_var &lhs, const char* rhs)
148   lhs.inout () <<= rhs;
151 ACE_INLINE void
152 operator <<= (CORBA::Any_var &lhs, CORBA::TypeCode_ptr rhs)
154   lhs.inout () <<= rhs;
157 ACE_INLINE void
158 operator <<= (CORBA::Any_var &lhs, const CORBA::Object_ptr rhs)
160   lhs.inout () <<= rhs;
163 ACE_INLINE void
164 operator <<= (CORBA::Any_var &lhs, ACE_OutputCDR::from_boolean rhs)
166   lhs.inout () <<= rhs;
169 ACE_INLINE void
170 operator <<= (CORBA::Any_var &lhs, CORBA::Any::from_char rhs)
172   lhs.inout () <<= rhs;
175 ACE_INLINE void
176 operator <<= (CORBA::Any_var &lhs, CORBA::Any::from_wchar rhs)
178   lhs.inout () <<= rhs;
181 ACE_INLINE void
182 operator <<= (CORBA::Any_var &lhs, CORBA::Any::from_octet rhs)
184   lhs.inout () <<= rhs;
187 ACE_INLINE void
188 operator <<= (CORBA::Any_var &lhs, CORBA::Any::from_string rhs)
190   lhs.inout () <<= rhs;
193 ACE_INLINE void
194 operator <<= (CORBA::Any_var &lhs, CORBA::Any::from_wstring rhs)
196   lhs.inout () <<= rhs;
199 // *************************************************************
200 // CORBA::Any_var extraction operators
201 // *************************************************************
203 ACE_INLINE CORBA::Boolean
204 operator >>= (const CORBA::Any_var &lhs, CORBA::Short &rhs)
206   return lhs.in () >>= rhs;
209 ACE_INLINE CORBA::Boolean
210 operator >>= (const CORBA::Any_var &lhs, CORBA::UShort &rhs)
212   return lhs.in () >>= rhs;
215 ACE_INLINE CORBA::Boolean
216 operator >>= (const CORBA::Any_var &lhs, CORBA::Long &rhs)
218   return lhs.in () >>= rhs;
221 ACE_INLINE CORBA::Boolean
222 operator >>= (const CORBA::Any_var &lhs, CORBA::ULong &rhs)
224   return lhs.in () >>= rhs;
227 ACE_INLINE CORBA::Boolean
228 operator >>= (const CORBA::Any_var &lhs, CORBA::LongLong &rhs)
230   return lhs.in () >>= rhs;
233 ACE_INLINE CORBA::Boolean
234 operator >>= (const CORBA::Any_var &lhs, CORBA::ULongLong &rhs)
236   return lhs.in () >>= rhs;
239 ACE_INLINE CORBA::Boolean
240 operator >>= (const CORBA::Any_var &lhs, CORBA::Float &rhs)
242   return lhs.in () >>= rhs;
245 ACE_INLINE CORBA::Boolean
246 operator >>= (const CORBA::Any_var &lhs, CORBA::Double &rhs)
248   return lhs.in () >>= rhs;
251 ACE_INLINE CORBA::Boolean
252 operator >>= (const CORBA::Any_var &lhs, const CORBA::Any *&rhs)
254   return lhs.in () >>= rhs;
257 ACE_INLINE CORBA::Boolean
258 operator >>= (const CORBA::Any_var &lhs, CORBA::TypeCode_ptr &rhs)
260   return lhs.in () >>= rhs;
263 ACE_INLINE CORBA::Boolean
264 operator >>= (const CORBA::Any_var &lhs, const char *&rhs)
266   return lhs.in () >>= rhs;
269 ACE_INLINE CORBA::Boolean
270 operator >>= (const CORBA::Any_var &lhs, const CORBA::WChar *&rhs)
272   return lhs.in () >>= rhs;
275 ACE_INLINE CORBA::Boolean
276 operator >>= (const CORBA::Any_var &lhs, CORBA::Any::to_boolean rhs)
278   return lhs.in () >>= rhs;
281 ACE_INLINE CORBA::Boolean
282 operator >>= (const CORBA::Any_var &lhs, CORBA::Any::to_octet rhs)
284   return lhs.in () >>= rhs;
287 ACE_INLINE CORBA::Boolean
288 operator >>= (const CORBA::Any_var &lhs, CORBA::Any::to_char rhs)
290   return lhs.in () >>= rhs;
293 ACE_INLINE CORBA::Boolean
294 operator >>= (const CORBA::Any_var &lhs, CORBA::Any::to_wchar rhs)
296   return lhs.in () >>= rhs;
299 ACE_INLINE CORBA::Boolean
300 operator >>= (const CORBA::Any_var &lhs, CORBA::Any::to_string rhs)
302   return lhs.in () >>= rhs;
305 ACE_INLINE CORBA::Boolean
306 operator >>= (const CORBA::Any_var &lhs, CORBA::Any::to_wstring rhs)
308   return lhs.in () >>= rhs;
311 ACE_INLINE CORBA::Boolean
312 operator >>= (const CORBA::Any_var &lhs, CORBA::Any::to_object rhs)
314   return lhs.in () >>= rhs;
319 // *************************************************************
320 // Inline operations for class CORBA::Any_out
321 // *************************************************************
323 ACE_INLINE
324 CORBA::Any_out::Any_out (CORBA::Any *&s)
325   : ptr_ (s)
327   this->ptr_ = 0;
330 ACE_INLINE
331 CORBA::Any_out::Any_out (CORBA::Any_var &s)
332   : ptr_ (s.out ())
336 ACE_INLINE
337 CORBA::Any_out::Any_out (const CORBA::Any_out &s)
338   : ptr_ (s.ptr_)
342 ACE_INLINE CORBA::Any_out &
343 CORBA::Any_out::operator= (const CORBA::Any_out &s)
345   this->ptr_ = s.ptr_;
346   return *this;
349 ACE_INLINE CORBA::Any_out &
350 CORBA::Any_out::operator= (CORBA::Any *s)
352   this->ptr_ = s;
353   return *this;
356 ACE_INLINE
357 CORBA::Any_out::operator CORBA::Any *&()
359   return this->ptr_;
362 ACE_INLINE CORBA::Any *&
363 CORBA::Any_out::ptr ()
365   return this->ptr_;
368 ACE_INLINE CORBA::Any *
369 CORBA::Any_out::operator-> ()
371   return this->ptr_;
374 TAO_END_VERSIONED_NAMESPACE_DECL