Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / Pseudo_VarOut_T.inl
blob3590f7f53aeae2a1868f600ed86dc20cfd5e65ff
1 // -*- C++ -*-
2 #include "tao/CORBA_methods.h"
4 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
6 template <typename T>
7 ACE_INLINE
8 TAO_Pseudo_Var_T<T>::TAO_Pseudo_Var_T ()
9   : ptr_ (T::_nil ())
12 template <typename T>
13 ACE_INLINE
14 TAO_Pseudo_Var_T<T>::TAO_Pseudo_Var_T (typename T::_ptr_type p)
15   : ptr_ (p)
18 template <typename T>
19 ACE_INLINE
20 TAO_Pseudo_Var_T<T>::TAO_Pseudo_Var_T (const TAO_Pseudo_Var_T<T> & p)
21   : TAO_Base_var ()
22   , ptr_ (T::_duplicate (p.ptr ()))
25 template <typename T>
26 ACE_INLINE
27 TAO_Pseudo_Var_T<T>::~TAO_Pseudo_Var_T ()
29   CORBA::release (this->ptr_);
32 template <typename T>
33 ACE_INLINE
34 TAO_Pseudo_Var_T<T> &
35 TAO_Pseudo_Var_T<T>::operator= (typename T::_ptr_type p)
37   CORBA::release (this->ptr_);
38   this->ptr_ = p;
39   return *this;
42 template <typename T>
43 ACE_INLINE
44 TAO_Pseudo_Var_T<T>::operator typename T::_ptr_type const & () const
46   return this->ptr_;
49 template <typename T>
50 ACE_INLINE
51 TAO_Pseudo_Var_T<T>::operator typename T::_ptr_type & ()
53   return this->ptr_;
56 template <typename T>
57 ACE_INLINE
58 typename T::_ptr_type
59 TAO_Pseudo_Var_T<T>::operator-> () const
61   return this->ptr_;
64 template <typename T>
65 ACE_INLINE
66 typename T::_ptr_type
67 TAO_Pseudo_Var_T<T>::in () const
69   return this->ptr_;
72 template <typename T>
73 ACE_INLINE
74 typename T::_ptr_type &
75 TAO_Pseudo_Var_T<T>::inout ()
77   return this->ptr_;
80 template <typename T>
81 ACE_INLINE
82 typename T::_ptr_type &
83 TAO_Pseudo_Var_T<T>::out ()
85   CORBA::release (this->ptr_);
86   this->ptr_ = T::_nil ();
87   return this->ptr_;
90 template <typename T>
91 ACE_INLINE
92 typename T::_ptr_type
93 TAO_Pseudo_Var_T<T>::_retn ()
95   typename T::_ptr_type val = this->ptr_;
96   this->ptr_ = T::_nil ();
97   return val;
100 template <typename T>
101 ACE_INLINE
102 typename T::_ptr_type
103 TAO_Pseudo_Var_T<T>::ptr () const
105   return this->ptr_;
108 // *************************************************************
110 template <typename T>
111 ACE_INLINE
112 TAO_Pseudo_Out_T<T>::TAO_Pseudo_Out_T (typename T::_ptr_type & p)
113   : ptr_ (p)
115   this->ptr_ = T::_nil ();
118 template <typename T>
119 ACE_INLINE
120 TAO_Pseudo_Out_T<T>::TAO_Pseudo_Out_T (typename T::_var_type & p)
121   : ptr_ (p.out ())
123   CORBA::release (this->ptr_);
124   this->ptr_ = T::_nil ();
127 template <typename T>
128 ACE_INLINE
129 TAO_Pseudo_Out_T<T>::TAO_Pseudo_Out_T (
130     const TAO_Pseudo_Out_T<T> & p)
131   : ptr_ (p.ptr_)
134 template <typename T>
135 ACE_INLINE
136 TAO_Pseudo_Out_T<T> &
137 TAO_Pseudo_Out_T<T>::operator= (const TAO_Pseudo_Out_T<T> & p)
139   this->ptr_ = p.ptr_;
140   return *this;
143 template <typename T>
144 ACE_INLINE
145 TAO_Pseudo_Out_T<T> &
146 TAO_Pseudo_Out_T<T>::operator= (typename T::_ptr_type p)
148   this->ptr_ = p;
149   return *this;
152 template <typename T>
153 ACE_INLINE
154 typename T::_ptr_type &
155 TAO_Pseudo_Out_T<T>::ptr ()
157   return this->ptr_;
160 template <typename T>
161 ACE_INLINE
162 TAO_Pseudo_Out_T<T>::operator typename T::_ptr_type & ()
164   return this->ptr_;
167 template <typename T>
168 ACE_INLINE
169 typename T::_ptr_type
170 TAO_Pseudo_Out_T<T>::operator-> ()
172   return this->ptr_;
175 TAO_END_VERSIONED_NAMESPACE_DECL