Pseudo_VarOut_T.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Pseudo_VarOut_T.inl,v 1.10 2006/06/19 14:51:11 parsons Exp
00004 
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006 
00007 template <typename T>
00008 ACE_INLINE
00009 TAO_Pseudo_Var_T<T>::TAO_Pseudo_Var_T (void)
00010   : ptr_ (T::_nil ())
00011 {}
00012 
00013 template <typename T>
00014 ACE_INLINE
00015 TAO_Pseudo_Var_T<T>::TAO_Pseudo_Var_T (typename T::_ptr_type p)
00016   : ptr_ (p)
00017 {}
00018 
00019 template <typename T>
00020 ACE_INLINE
00021 TAO_Pseudo_Var_T<T>::TAO_Pseudo_Var_T (const TAO_Pseudo_Var_T<T> & p)
00022   : TAO_Base_var ()
00023   , ptr_ (T::_duplicate (p.ptr ()))
00024 {}
00025 
00026 template <typename T>
00027 ACE_INLINE
00028 TAO_Pseudo_Var_T<T>::~TAO_Pseudo_Var_T (void)
00029 {
00030   ::CORBA::release (this->ptr_);
00031 }
00032 
00033 template <typename T>
00034 ACE_INLINE
00035 TAO_Pseudo_Var_T<T> &
00036 TAO_Pseudo_Var_T<T>::operator= (typename T::_ptr_type p)
00037 {
00038   ::CORBA::release (this->ptr_);
00039   this->ptr_ = p;
00040   return *this;
00041 }
00042 
00043 template <typename T>
00044 ACE_INLINE
00045 TAO_Pseudo_Var_T<T>::operator typename T::_ptr_type const & () const
00046 {
00047   return this->ptr_;
00048 }
00049 
00050 template <typename T>
00051 ACE_INLINE
00052 TAO_Pseudo_Var_T<T>::operator typename T::_ptr_type & ()
00053 {
00054   return this->ptr_;
00055 }
00056 
00057 template <typename T>
00058 ACE_INLINE
00059 typename T::_ptr_type
00060 TAO_Pseudo_Var_T<T>::operator-> (void) const
00061 {
00062   return this->ptr_;
00063 }
00064 
00065 template <typename T>
00066 ACE_INLINE
00067 typename T::_ptr_type
00068 TAO_Pseudo_Var_T<T>::in (void) const
00069 {
00070   return this->ptr_;
00071 }
00072 
00073 template <typename T>
00074 ACE_INLINE
00075 typename T::_ptr_type &
00076 TAO_Pseudo_Var_T<T>::inout (void)
00077 {
00078   return this->ptr_;
00079 }
00080 
00081 template <typename T>
00082 ACE_INLINE
00083 typename T::_ptr_type &
00084 TAO_Pseudo_Var_T<T>::out (void)
00085 {
00086   ::CORBA::release (this->ptr_);
00087   this->ptr_ = T::_nil ();
00088   return this->ptr_;
00089 }
00090 
00091 template <typename T>
00092 ACE_INLINE
00093 typename T::_ptr_type
00094 TAO_Pseudo_Var_T<T>::_retn (void)
00095 {
00096   typename T::_ptr_type val = this->ptr_;
00097   this->ptr_ = T::_nil ();
00098   return val;
00099 }
00100 
00101 template <typename T>
00102 ACE_INLINE
00103 typename T::_ptr_type
00104 TAO_Pseudo_Var_T<T>::ptr (void) const
00105 {
00106   return this->ptr_;
00107 }
00108 
00109 // *************************************************************
00110 
00111 template <typename T>
00112 ACE_INLINE
00113 TAO_Pseudo_Out_T<T>::TAO_Pseudo_Out_T (typename T::_ptr_type & p)
00114   : ptr_ (p)
00115 {
00116   this->ptr_ = T::_nil ();
00117 }
00118 
00119 template <typename T>
00120 ACE_INLINE
00121 TAO_Pseudo_Out_T<T>::TAO_Pseudo_Out_T (typename T::_var_type & p)
00122   : ptr_ (p.out ())
00123 {
00124   ::CORBA::release (this->ptr_);
00125   this->ptr_ = T::_nil ();
00126 }
00127 
00128 template <typename T>
00129 ACE_INLINE
00130 TAO_Pseudo_Out_T<T>::TAO_Pseudo_Out_T (
00131     const TAO_Pseudo_Out_T<T> & p
00132   )
00133   : ptr_ (p.ptr_)
00134 {}
00135 
00136 template <typename T>
00137 ACE_INLINE
00138 TAO_Pseudo_Out_T<T> &
00139 TAO_Pseudo_Out_T<T>::operator= (const TAO_Pseudo_Out_T<T> & p)
00140 {
00141   this->ptr_ = p.ptr_;
00142   return *this;
00143 }
00144 
00145 template <typename T>
00146 ACE_INLINE
00147 TAO_Pseudo_Out_T<T> &
00148 TAO_Pseudo_Out_T<T>::operator= (typename T::_ptr_type p)
00149 {
00150   this->ptr_ = p;
00151   return *this;
00152 }
00153 
00154 template <typename T>
00155 ACE_INLINE
00156 typename T::_ptr_type &
00157 TAO_Pseudo_Out_T<T>::ptr (void)
00158 {
00159   return this->ptr_;
00160 }
00161 
00162 template <typename T>
00163 ACE_INLINE
00164 TAO_Pseudo_Out_T<T>::operator typename T::_ptr_type & ()
00165 {
00166   return this->ptr_;
00167 }
00168 
00169 template <typename T>
00170 ACE_INLINE
00171 typename T::_ptr_type
00172 TAO_Pseudo_Out_T<T>::operator-> (void)
00173 {
00174   return this->ptr_;
00175 }
00176 
00177 TAO_END_VERSIONED_NAMESPACE_DECL

Generated on Thu Nov 9 11:54:21 2006 for TAO by doxygen 1.3.6