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

TAO_Value_Var_T< T > Class Template Reference

Parametrized implementation of _var class for valuetypes. More...

#include <Value_VarOut_T.h>

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

List of all members.

Public Types

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

Public Member Functions

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

Private Member Functions

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

Private Attributes

T * ptr_

Detailed Description

template<typename T>
class TAO_Value_Var_T< T >

Parametrized implementation of _var class for valuetypes.

Parametrized implementation of _out class for valuetypes.

Definition at line 45 of file Value_VarOut_T.h.


Member Typedef Documentation

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

Definition at line 65 of file Value_VarOut_T.h.

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

Definition at line 66 of file Value_VarOut_T.h.

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

Definition at line 67 of file Value_VarOut_T.h.

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

Definition at line 68 of file Value_VarOut_T.h.


Constructor & Destructor Documentation

template<typename T >
TAO_Value_Var_T< T >::TAO_Value_Var_T ( void   ) 

Definition at line 14 of file Value_VarOut_T.cpp.

  : ptr_ (0)
{}

template<typename T >
TAO_Value_Var_T< T >::TAO_Value_Var_T ( T *  p  ) 

Definition at line 19 of file Value_VarOut_T.cpp.

  : ptr_ (p)
{}

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

Definition at line 29 of file Value_VarOut_T.cpp.

  : TAO_Base_var ()
{
  TAO::Value_Traits<T>::add_ref (p.ptr ());
  this->ptr_ = p.ptr ();
}

template<typename T >
TAO_Value_Var_T< T >::TAO_Value_Var_T ( const T *  p  ) 

Definition at line 24 of file Value_VarOut_T.cpp.

  : ptr_ (const_cast<T *> (p))
{}

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

Definition at line 37 of file Value_VarOut_T.cpp.

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

Member Function Documentation

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

Definition at line 113 of file Value_VarOut_T.cpp.

{
  T * tmp = this->ptr_;
  this->ptr_ = 0;
  return tmp;
}

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

Definition at line 90 of file Value_VarOut_T.cpp.

{
  return this->ptr_;
}

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

Definition at line 97 of file Value_VarOut_T.cpp.

{
  return this->ptr_;
}

template<typename T >
TAO_Value_Var_T< T >::operator const T * (  )  const

Definition at line 70 of file Value_VarOut_T.cpp.

{
  return this->ptr_;
}

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

Definition at line 76 of file Value_VarOut_T.cpp.

{
  return this->ptr_;
}

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

Definition at line 83 of file Value_VarOut_T.cpp.

{
  return this->ptr_;
}

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

Definition at line 44 of file Value_VarOut_T.cpp.

{
  if (this->ptr_ != p)
    {
      // This constructor doesn't increase the reference count so we
      // we must check for self-assignment.  Otherwise the reference
      // count would be prematurely decremented upon exiting this
      // scope.
      TAO_Value_Var_T<T> tmp (p);
      std::swap (this->ptr_, tmp.ptr_);
    }

  return *this;
}

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

Reimplemented from TAO_Base_var.

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

Definition at line 61 of file Value_VarOut_T.cpp.

{
  TAO_Value_Var_T<T> tmp (p);
  std::swap (this->ptr_, tmp.ptr_);

  return *this;
}

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

Definition at line 104 of file Value_VarOut_T.cpp.

{
  TAO::Value_Traits<T>::remove_ref (this->ptr_);
  this->ptr_ = 0;
  return this->ptr_;
}

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

Definition at line 122 of file Value_VarOut_T.cpp.

{
  return this->ptr_;
}


Member Data Documentation

template<typename T>
T* TAO_Value_Var_T< T >::ptr_ [private]

Definition at line 86 of file Value_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