Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions

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_Objref_Var_T< T >::TAO_Objref_Var_T ( void   ) 

Definition at line 9 of file Objref_VarOut_T.inl.

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

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.

: ptr_ (p) {}

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

Definition at line 13 of file Objref_VarOut_T.cpp.

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

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

Definition at line 16 of file Objref_VarOut_T.inl.

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

Member Function Documentation

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

Definition at line 72 of file Objref_VarOut_T.inl.

{
  T * val = this->ptr_;
  this->ptr_ = TAO::Objref_Traits<T>::nil ();
  return val;
}

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

Definition at line 90 of file Objref_VarOut_T.inl.

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

Definition at line 46 of file Objref_VarOut_T.inl.

{
  return this->ptr_;
}

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

Definition at line 54 of file Objref_VarOut_T.inl.

{
  return this->ptr_;
}

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

Definition at line 38 of file Objref_VarOut_T.inl.

{
  return this->ptr_;
}

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

Definition at line 31 of file Objref_VarOut_T.inl.

{
  return this->ptr_;
}

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

Definition at line 24 of file Objref_VarOut_T.inl.

{
  return this->ptr_;
}

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 > &  p  ) 

Definition at line 32 of file Objref_VarOut_T.cpp.

{
  if (this != &p)
    {
      TAO::Objref_Traits<T>::release (this->ptr_);
      this->ptr_ = TAO::Objref_Traits<T>::duplicate (p.ptr ());
    }

  return *this;
}

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

Definition at line 23 of file Objref_VarOut_T.cpp.

{
  TAO::Objref_Traits<T>::release (this->ptr_);
  this->ptr_ = p;
  return *this;
}

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

Definition at line 62 of file Objref_VarOut_T.inl.

{
  TAO::Objref_Traits<T>::release (this->ptr_);
  this->ptr_ = TAO::Objref_Traits<T>::nil ();
  return this->ptr_;
}

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

Definition at line 82 of file Objref_VarOut_T.inl.

{
  return this->ptr_;
}

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

Definition at line 98 of file Objref_VarOut_T.inl.

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


Member Data Documentation

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

Definition at line 81 of file Objref_VarOut_T.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines