TAO_Var_Var_T< T > Class Template Reference

Parametrized implementation of _var class for structs, unions, and exceptions with members of variable size. More...

#include <VarOut_T.h>

Inheritance diagram for TAO_Var_Var_T< T >:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef T *& _out_type
typedef T * _retn_type

Public Member Functions

 TAO_Var_Var_T (void)
 TAO_Var_Var_T (T *)
 TAO_Var_Var_T (const TAO_Var_Var_T< T > &)
TAO_Var_Var_Toperator= (T *)
TAO_Var_Var_Toperator= (const TAO_Var_Var_T< T > &)
 operator T *& ()
_out_type out (void)
_retn_type _retn (void)

Detailed Description

template<typename T>
class TAO_Var_Var_T< T >

Parametrized implementation of _var class for structs, unions, and exceptions with members of variable size.

Definition at line 104 of file VarOut_T.h.


Member Typedef Documentation

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

Definition at line 117 of file VarOut_T.h.

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

Definition at line 118 of file VarOut_T.h.


Constructor & Destructor Documentation

template<typename T>
ACE_INLINE TAO_Var_Var_T< T >::TAO_Var_Var_T ( void   ) 

Definition at line 151 of file VarOut_T.inl.

00152 {}

template<typename T>
ACE_INLINE TAO_Var_Var_T< T >::TAO_Var_Var_T ( T *   ) 

Definition at line 156 of file VarOut_T.inl.

00157   : TAO_Var_Base_T<T> (p)
00158 {}

template<typename T>
ACE_INLINE TAO_Var_Var_T< T >::TAO_Var_Var_T ( const TAO_Var_Var_T< T > &   ) 

Definition at line 162 of file VarOut_T.inl.

00163   : TAO_Var_Base_T<T> (p)
00164 {}


Member Function Documentation

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

Definition at line 198 of file VarOut_T.inl.

References TAO_Var_Base_T< T >::ptr_.

00199 {
00200   T * tmp = this->ptr_;
00201   this->ptr_ = 0;
00202   return tmp;
00203 }

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

Definition at line 179 of file VarOut_T.inl.

References TAO_Var_Base_T< T >::ptr_.

00180 {
00181   return this->ptr_;
00182 }

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

Definition at line 57 of file VarOut_T.cpp.

References TAO_Var_Base_T< T >::ptr_.

00058 {
00059   // Strongly exception safe assignment using copy and non-throwing
00060   // swap technique.
00061   TAO_Var_Var_T<T> tmp (p);
00062 
00063   T * old_ptr = this->ptr_;
00064   this->ptr_ = tmp.ptr_;
00065   tmp.ptr_ = old_ptr;
00066 
00067   return *this;
00068 }

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

Definition at line 169 of file VarOut_T.inl.

References TAO_Var_Base_T< T >::ptr_.

00170 {
00171   delete this->ptr_;
00172   this->ptr_ = p;
00173   return *this;
00174 }

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

Definition at line 188 of file VarOut_T.inl.

References TAO_Var_Base_T< T >::ptr_.

00189 {
00190   delete this->ptr_;
00191   this->ptr_ = 0;
00192   return this->ptr_;
00193 }


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