diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2007-09-20 07:13:20 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2007-09-20 07:13:20 +0000 |
commit | 4737d360f196880a4806a993a7ff056bf550b7ab (patch) | |
tree | e6e8dc03304cbff54b3be478b4645509bac013fe /TAO/tao/Objref_VarOut_T.inl | |
parent | d354df569a0c5b54406abb1b2f74a0e48d28d0a9 (diff) | |
download | ATCD-4737d360f196880a4806a993a7ff056bf550b7ab.tar.gz |
Thu Sep 20 07:12:15 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO/tao/Objref_VarOut_T.inl')
-rw-r--r-- | TAO/tao/Objref_VarOut_T.inl | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/TAO/tao/Objref_VarOut_T.inl b/TAO/tao/Objref_VarOut_T.inl new file mode 100644 index 00000000000..4f9f172af6e --- /dev/null +++ b/TAO/tao/Objref_VarOut_T.inl @@ -0,0 +1,178 @@ +// -*- C++ -*- +// +// $Id$ + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +ACE_INLINE +template <typename T> +TAO_Objref_Var_T<T>::TAO_Objref_Var_T (void) + : ptr_ (TAO::Objref_Traits<T>::nil ()) +{ +} + +ACE_INLINE +template <typename T> +TAO_Objref_Var_T<T>::~TAO_Objref_Var_T (void) +{ + TAO::Objref_Traits<T>::release (this->ptr_); +} + +ACE_INLINE +template <typename T> +T * +TAO_Objref_Var_T<T>::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE +template <typename T> +TAO_Objref_Var_T<T>::operator T * const & () const +{ + return this->ptr_; +} + +ACE_INLINE +template <typename T> +TAO_Objref_Var_T<T>::operator T *& () +{ + return this->ptr_; +} + +ACE_INLINE +template <typename T> +T * +TAO_Objref_Var_T<T>::in (void) const +{ + return this->ptr_; +} + +ACE_INLINE +template <typename T> +T *& +TAO_Objref_Var_T<T>::inout (void) +{ + return this->ptr_; +} + +ACE_INLINE +template <typename T> +T *& +TAO_Objref_Var_T<T>::out (void) +{ + TAO::Objref_Traits<T>::release (this->ptr_); + this->ptr_ = TAO::Objref_Traits<T>::nil (); + return this->ptr_; +} + +ACE_INLINE +template <typename T> +T * +TAO_Objref_Var_T<T>::_retn (void) +{ + T * val = this->ptr_; + this->ptr_ = TAO::Objref_Traits<T>::nil (); + return val; +} + +ACE_INLINE +template <typename T> +T * +TAO_Objref_Var_T<T>::ptr (void) const +{ + return this->ptr_; +} + +ACE_INLINE +template <typename T> +void +TAO_Objref_Var_T<T>::free (void) +{ + TAO::Objref_Traits<T>::release (this->ptr_); +} + +ACE_INLINE +template <typename T> +void +TAO_Objref_Var_T<T>::reset (T * p) +{ + TAO::Objref_Traits<T>::release (this->ptr_); + this->ptr_ = p; +} + +// ****************************************************** + +ACE_INLINE +template <typename T> +TAO_Objref_Out_T<T>::TAO_Objref_Out_T (T *& p) + : ptr_ (p) +{ + this->ptr_ = TAO::Objref_Traits<T>::nil (); +} + +ACE_INLINE +template <typename T> +TAO_Objref_Out_T<T>::TAO_Objref_Out_T ( + TAO_Objref_Var_T<T> & p + ) + : ptr_ (p.out ()) +{ + TAO::Objref_Traits<T>::release (this->ptr_); + this->ptr_ = TAO::Objref_Traits<T>::nil (); +} + +ACE_INLINE +template <typename T> +TAO_Objref_Out_T<T>::TAO_Objref_Out_T ( + const TAO_Objref_Out_T<T> & p + ) + : ptr_ (p.ptr_) +{ +} + +ACE_INLINE +template <typename T> +TAO_Objref_Out_T<T> & +TAO_Objref_Out_T<T>::operator= ( + const TAO_Objref_Out_T<T> & p + ) +{ + this->ptr_ = p.ptr_; + return *this; +} + +ACE_INLINE +template <typename T> +TAO_Objref_Out_T<T> & +TAO_Objref_Out_T<T>::operator= (T * p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +template <typename T> +T *& +TAO_Objref_Out_T<T>::ptr (void) +{ + return this->ptr_; +} + +ACE_INLINE +template <typename T> +TAO_Objref_Out_T<T>::operator T *& () +{ + return this->ptr_; +} + +ACE_INLINE +template <typename T> +T * +TAO_Objref_Out_T<T>::operator-> (void) +{ + return this->ptr_; +} + +TAO_END_VERSIONED_NAMESPACE_DECL + |