TAO_Objref_Var_T< T > Class Template Reference

Parameterized implementation of _var class for object references. More...

#include <Objref_VarOut_T.h>

Inheritance diagram for TAO_Objref_Var_T< T >:

Inheritance graph
[legend]
Collaboration diagram for TAO_Objref_Var_T< T >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef T _obj_type
typedef T * _in_type
typedef T *& _inout_type
typedef T *& _out_type
typedef T * _retn_type

Public Member Functions

 TAO_Objref_Var_T (void)
 TAO_Objref_Var_T (T *p)
 TAO_Objref_Var_T (const TAO_Objref_Var_T< T > &)
 ~TAO_Objref_Var_T (void)
TAO_Objref_Var_T< T > & operator= (T *)
TAO_Objref_Var_T< T > & operator= (const TAO_Objref_Var_T< T > &)
T * operator-> (void) const
 operator T *const & () const
 operator T *& ()
_in_type in (void) const
_inout_type inout (void)
_out_type out (void)
_retn_type _retn (void)
_retn_type ptr (void) const

Protected Member Functions

void free (void)
void reset (T *)

Protected Attributes

T * ptr_

Private Member Functions

 TAO_Objref_Var_T (const TAO_Base_var &)
void operator= (const TAO_Base_var &)

Detailed Description

template<typename T>
class TAO_Objref_Var_T< T >

Parameterized implementation of _var class for object references.

Definition at line 50 of file Objref_VarOut_T.h.


Member Typedef Documentation

template<typename T>
typedef T* TAO_Objref_Var_T< T >::_in_type

Definition at line 67 of file Objref_VarOut_T.h.

template<typename T>
typedef T*& TAO_Objref_Var_T< T >::_inout_type

Definition at line 68 of file Objref_VarOut_T.h.

template<typename T>
typedef T TAO_Objref_Var_T< T >::_obj_type

Definition at line 66 of file Objref_VarOut_T.h.

template<typename T>
typedef T*& TAO_Objref_Var_T< T >::_out_type

Definition at line 69 of file Objref_VarOut_T.h.

template<typename T>
typedef T* TAO_Objref_Var_T< T >::_retn_type

Definition at line 70 of file Objref_VarOut_T.h.


Constructor & Destructor Documentation

template<typename T>
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_Objref_Var_T< T >::TAO_Objref_Var_T ( void   ) 

Definition at line 9 of file Objref_VarOut_T.inl.

00010   : ptr_ (TAO::Objref_Traits<T>::nil ())
00011 {
00012 }

template<typename T>
TAO_Objref_Var_T< T >::TAO_Objref_Var_T ( T *  p  )  [inline]

Definition at line 54 of file Objref_VarOut_T.h.

00054 : ptr_ (p) {}

template<typename T>
TAO_Objref_Var_T< T >::TAO_Objref_Var_T ( const TAO_Objref_Var_T< T > &   ) 

Definition at line 13 of file Objref_VarOut_T.cpp.

00016   : TAO_Base_var (),
00017     ptr_ (TAO::Objref_Traits<T>::duplicate (p.ptr ()))
00018 {
00019 }

template<typename T>
ACE_INLINE TAO_Objref_Var_T< T >::~TAO_Objref_Var_T ( void   ) 

Definition at line 16 of file Objref_VarOut_T.inl.

References CORBA::release().

00017 {
00018   TAO::Objref_Traits<T>::release (this->ptr_);
00019 }

template<typename T>
TAO_Objref_Var_T< T >::TAO_Objref_Var_T ( const TAO_Base_var  )  [private]


Member Function Documentation

template<typename T>
ACE_INLINE T * TAO_Objref_Var_T< T >::_retn ( void   ) 

Definition at line 72 of file Objref_VarOut_T.inl.

References TAO_Objref_Var_T< T >::ptr_.

Referenced by TAO_Policy_Set::copy_from(), TAO_Stub::get_cached_policy(), TAO_ORB_Core::get_cached_policy(), TAO_ORB_Core::get_cached_policy_including_current(), TAO_Profile::get_policies(), TAO_Stub::get_policy(), TAO_ORB_Core::get_policy(), TAO_ORB_Core::get_policy_including_current(), TAO_Policy_Set::set_policy(), and TAO_Policy_Set::TAO_Policy_Set().

00073 {
00074   T * val = this->ptr_;
00075   this->ptr_ = TAO::Objref_Traits<T>::nil ();
00076   return val;
00077 }

template<typename T>
ACE_INLINE void TAO_Objref_Var_T< T >::free ( void   )  [protected]

Definition at line 90 of file Objref_VarOut_T.inl.

References CORBA::release().

00091 {
00092   TAO::Objref_Traits<T>::release (this->ptr_);
00093 }

template<typename T>
ACE_INLINE T * TAO_Objref_Var_T< T >::in ( void   )  const

Definition at line 46 of file Objref_VarOut_T.inl.

References TAO_Objref_Var_T< T >::ptr_.

Referenced by TAO_Stub::get_cached_policy(), TAO_ORB_Core::get_cached_policy(), TAO_ORB_Core::get_cached_policy_including_current(), TAO_Profile::get_policies(), TAO_Stub::get_policy(), TAO_ORB_Core::get_policy(), and TAO_ORB_Core::get_policy_including_current().

00047 {
00048   return this->ptr_;
00049 }

template<typename T>
ACE_INLINE T *& TAO_Objref_Var_T< T >::inout ( void   ) 

Definition at line 54 of file Objref_VarOut_T.inl.

References TAO_Objref_Var_T< T >::ptr_.

00055 {
00056   return this->ptr_;
00057 }

template<typename T>
ACE_INLINE TAO_Objref_Var_T< T >::operator T *& (  ) 

Definition at line 38 of file Objref_VarOut_T.inl.

References TAO_Objref_Var_T< T >::ptr_.

00039 {
00040   return this->ptr_;
00041 }

template<typename T>
ACE_INLINE TAO_Objref_Var_T< T >::operator T *const & (  )  const

Definition at line 31 of file Objref_VarOut_T.inl.

References TAO_Objref_Var_T< T >::ptr_.

00032 {
00033   return this->ptr_;
00034 }

template<typename T>
ACE_INLINE T * TAO_Objref_Var_T< T >::operator-> ( void   )  const

Definition at line 24 of file Objref_VarOut_T.inl.

References TAO_Objref_Var_T< T >::ptr_.

00025 {
00026   return this->ptr_;
00027 }

template<typename T>
void TAO_Objref_Var_T< T >::operator= ( const TAO_Base_var  )  [private]

Reimplemented from TAO_Base_var.

template<typename T>
TAO_Objref_Var_T< T > & TAO_Objref_Var_T< T >::operator= ( const TAO_Objref_Var_T< T > &   ) 

Definition at line 32 of file Objref_VarOut_T.cpp.

References TAO_Objref_Var_T< T >::ptr(), TAO_Objref_Var_T< T >::ptr_, and CORBA::release().

00035 {
00036   if (this != &p)
00037     {
00038       TAO::Objref_Traits<T>::release (this->ptr_);
00039       this->ptr_ = TAO::Objref_Traits<T>::duplicate (p.ptr ());
00040     }
00041 
00042   return *this;
00043 }

template<typename T>
TAO_Objref_Var_T< T > & TAO_Objref_Var_T< T >::operator= ( T *   ) 

Definition at line 23 of file Objref_VarOut_T.cpp.

References TAO_Objref_Var_T< T >::ptr_, and CORBA::release().

00024 {
00025   TAO::Objref_Traits<T>::release (this->ptr_);
00026   this->ptr_ = p;
00027   return *this;
00028 }

template<typename T>
ACE_INLINE T *& TAO_Objref_Var_T< T >::out ( void   ) 

Definition at line 62 of file Objref_VarOut_T.inl.

References TAO_Objref_Var_T< T >::ptr_, and CORBA::release().

00063 {
00064   TAO::Objref_Traits<T>::release (this->ptr_);
00065   this->ptr_ = TAO::Objref_Traits<T>::nil ();
00066   return this->ptr_;
00067 }

template<typename T>
ACE_INLINE T * TAO_Objref_Var_T< T >::ptr ( void   )  const

Definition at line 82 of file Objref_VarOut_T.inl.

References TAO_Objref_Var_T< T >::ptr_.

Referenced by TAO_Policy_Set::copy_from(), TAO_Objref_Var_T< T >::operator=(), TAO_Policy_Set::set_policy(), and TAO_Policy_Set::TAO_Policy_Set().

00083 {
00084   return this->ptr_;
00085 }

template<typename T>
ACE_INLINE void TAO_Objref_Var_T< T >::reset ( T *   )  [protected]

Definition at line 98 of file Objref_VarOut_T.inl.

References TAO_Objref_Var_T< T >::ptr_, and CORBA::release().

00099 {
00100   TAO::Objref_Traits<T>::release (this->ptr_);
00101   this->ptr_ = p;
00102 }


Member Data Documentation

template<typename T>
T* TAO_Objref_Var_T< T >::ptr_ [protected]

Definition at line 81 of file Objref_VarOut_T.h.

Referenced by TAO_Objref_Var_T< T >::_retn(), TAO_Objref_Var_T< T >::in(), TAO_Objref_Var_T< T >::inout(), TAO_Objref_Var_T< T >::operator T *&(), TAO_Objref_Var_T< T >::operator T *const &(), TAO_Objref_Var_T< T >::operator->(), TAO_Objref_Var_T< T >::operator=(), TAO_Objref_Var_T< T >::out(), TAO_Objref_Var_T< T >::ptr(), and TAO_Objref_Var_T< T >::reset().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:39:38 2010 for TAO by  doxygen 1.4.7