Array_VarOut_T.cpp

Go to the documentation of this file.
00001 // Array_VarOut_T.cpp,v 1.11 2006/06/21 12:14:14 jwillemsen Exp
00002 
00003 #ifndef TAO_ARRAY_VAROUT_T_CPP
00004 #define TAO_ARRAY_VAROUT_T_CPP
00005 
00006 #include "tao/Array_VarOut_T.h"
00007 
00008 #if !defined (__ACE_INLINE__)
00009 #include "tao/Array_VarOut_T.inl"
00010 #endif /* __ACE_INLINE__ */
00011 
00012 
00013 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00014 
00015 template<typename T, typename T_slice, typename TAG>
00016 TAO_FixedArray_Var_T<T,T_slice,TAG> &
00017 TAO_FixedArray_Var_T<T,T_slice,TAG>::operator= (T_slice * p)
00018 {
00019   // Is what we own the same that is being assigned to us?
00020   if (this->ptr_ != p)
00021     {
00022       // Delete our stuff and assume ownership of p.
00023       TAO::Array_Traits<FORANY>::free (this->ptr_);
00024       this->ptr_ = p;
00025     }
00026 
00027   return *this;
00028 }
00029 
00030 template<typename T, typename T_slice, typename TAG>
00031 TAO_FixedArray_Var_T<T,T_slice,TAG> &
00032 TAO_FixedArray_Var_T<T,T_slice,TAG>::operator= (
00033     const TAO_FixedArray_Var_T<T,T_slice,TAG> & p
00034   )
00035 {
00036   if (this != &p)
00037     {
00038       TAO::Array_Traits<FORANY>::free (this->ptr_);
00039 
00040       // Deep copy.
00041       this->ptr_ = TAO::Array_Traits<FORANY>::dup (p.in ());
00042     }
00043 
00044   return *this;
00045 }
00046 
00047 // *************************************************************
00048 
00049 template<typename T, typename T_slice, typename TAG>
00050 TAO_VarArray_Var_T<T,T_slice,TAG> &
00051 TAO_VarArray_Var_T<T,T_slice,TAG>::operator= (T_slice * p)
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 }
00063 
00064 template<typename T, typename T_slice, typename TAG>
00065 TAO_VarArray_Var_T<T,T_slice,TAG> &
00066 TAO_VarArray_Var_T<T,T_slice,TAG>::operator= (
00067     const TAO_VarArray_Var_T<T,T_slice,TAG> & p
00068   )
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 }
00080 
00081 // *************************************************************
00082 
00083 template<typename T, typename T_slice, typename TAG>
00084 void
00085 TAO_Array_Forany_T<T,T_slice,TAG>::_tao_any_destructor (
00086     void * _tao_void_pointer
00087   )
00088 {
00089   T_slice * tmp = static_cast<T_slice *> (_tao_void_pointer);
00090   TAO::Array_Traits<FORANY>::free (tmp);
00091 }
00092 
00093 TAO_END_VERSIONED_NAMESPACE_DECL
00094 
00095 #endif /* TAO_ARRAY_VAROUT_T_CPP */

Generated on Thu Nov 9 11:54:07 2006 for TAO by doxygen 1.3.6