TAO_VarArray_Var_T< T, T_slice, TAG > Class Template Reference

Parametrized implementation of _var class for arrays with elements of variable size. More...

#include <Array_VarOut_T.h>

Inheritance diagram for TAO_VarArray_Var_T< T, T_slice, TAG >:

Inheritance graph
[legend]
Collaboration diagram for TAO_VarArray_Var_T< T, T_slice, TAG >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef T_slice _slice_type
typedef T_slice *& _out_type

Public Member Functions

 TAO_VarArray_Var_T (void)
 TAO_VarArray_Var_T (_slice_type *)
 TAO_VarArray_Var_T (const TAO_VarArray_Var_T< T, T_slice, TAG > &)
TAO_VarArray_Var_T< T, T_slice,
TAG > & 
operator= (_slice_type *)
TAO_VarArray_Var_T< T, T_slice,
TAG > & 
operator= (const TAO_VarArray_Var_T< T, T_slice, TAG > &)
_out_type out (void)
 operator _slice_type *& ()

Private Types

typedef TAO_Array_Var_Base_T<
T, T_slice, TAG >::FORANY 
FORANY

Detailed Description

template<typename T, typename T_slice, typename TAG>
class TAO_VarArray_Var_T< T, T_slice, TAG >

Parametrized implementation of _var class for arrays with elements of variable size.

Definition at line 168 of file Array_VarOut_T.h.


Member Typedef Documentation

template<typename T, typename T_slice, typename TAG>
typedef T_slice*& TAO_VarArray_Var_T< T, T_slice, TAG >::_out_type

Definition at line 172 of file Array_VarOut_T.h.

template<typename T, typename T_slice, typename TAG>
typedef T_slice TAO_VarArray_Var_T< T, T_slice, TAG >::_slice_type

Reimplemented from TAO_Array_Var_Base_T< T, T_slice, TAG >.

Definition at line 171 of file Array_VarOut_T.h.

template<typename T, typename T_slice, typename TAG>
typedef TAO_Array_Var_Base_T<T,T_slice,TAG>::FORANY TAO_VarArray_Var_T< T, T_slice, TAG >::FORANY [private]

Reimplemented from TAO_Array_Var_Base_T< T, T_slice, TAG >.

Definition at line 190 of file Array_VarOut_T.h.


Constructor & Destructor Documentation

template<typename T, typename T_slice, typename TAG>
ACE_INLINE TAO_VarArray_Var_T< T, T_slice, TAG >::TAO_VarArray_Var_T ( void   ) 

Definition at line 138 of file Array_VarOut_T.inl.

00139 {}

template<typename T, typename T_slice, typename TAG>
ACE_INLINE TAO_VarArray_Var_T< T, T_slice, TAG >::TAO_VarArray_Var_T ( _slice_type  ) 

Definition at line 143 of file Array_VarOut_T.inl.

template<typename T, typename T_slice, typename TAG>
TAO_VarArray_Var_T< T, T_slice, TAG >::TAO_VarArray_Var_T ( const TAO_VarArray_Var_T< T, T_slice, TAG > &   ) 


Member Function Documentation

template<typename T, typename T_slice, typename TAG>
TAO_VarArray_Var_T< T, T_slice, TAG >::operator _slice_type *& (  ) 

template<typename T, typename T_slice, typename TAG>
TAO_VarArray_Var_T< T, T_slice, TAG > & TAO_VarArray_Var_T< T, T_slice, TAG >::operator= ( const TAO_VarArray_Var_T< T, T_slice, TAG > &   ) 

Definition at line 66 of file Array_VarOut_T.cpp.

References dup(), free(), TAO_Array_Var_Base_T< T, T_slice, TAG >::in(), and TAO_Array_Var_Base_T< T, T_slice, TAG >::ptr_.

00069 {
00070   if (this != &p)
00071     {
00072       TAO::Array_Traits<FORANY>::free (this->ptr_);
00073 
00074       // Deep copy.
00075       this->ptr_ = TAO::Array_Traits<FORANY>::dup (p.in ());
00076     }
00077 
00078   return *this;
00079 }

template<typename T, typename T_slice, typename TAG>
TAO_VarArray_Var_T< T, T_slice, TAG > & TAO_VarArray_Var_T< T, T_slice, TAG >::operator= ( _slice_type  ) 

Definition at line 51 of file Array_VarOut_T.cpp.

References free(), and TAO_Array_Var_Base_T< T, T_slice, TAG >::ptr_.

00052 {
00053   // Is what we own the same that is being assigned to us?
00054   if (this->ptr_ != p)
00055     {
00056       // Delete our stuff and assume ownership of p.
00057       TAO::Array_Traits<FORANY>::free (this->ptr_);
00058       this->ptr_ = p;
00059     }
00060 
00061   return *this;
00062 }

template<typename T, typename T_slice, typename TAG>
ACE_INLINE T_slice *& TAO_VarArray_Var_T< T, T_slice, TAG >::out ( void   ) 

Definition at line 165 of file Array_VarOut_T.inl.

References free(), and TAO_Array_Var_Base_T< T, T_slice, TAG >::ptr_.

00166 {
00167   TAO::Array_Traits<FORANY>::free (this->ptr_);
00168   this->ptr_ = 0;
00169   return this->ptr_;
00170 }


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