Seq_Var_T.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // $Id: Seq_Var_T.inl 74154 2006-08-21 18:40:48Z johnnyw $
00004 
00005 #include "ace/OS_Memory.h"
00006 
00007 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00008 
00009 template<typename T>
00010 ACE_INLINE
00011 TAO_Seq_Var_Base_T<T>::TAO_Seq_Var_Base_T (void)
00012   : ptr_ (0)
00013 {}
00014 
00015 template<typename T>
00016 ACE_INLINE
00017 TAO_Seq_Var_Base_T<T>::TAO_Seq_Var_Base_T (T * p)
00018   : ptr_ (p)
00019 {}
00020 
00021 template<typename T>
00022 ACE_INLINE
00023 TAO_Seq_Var_Base_T<T>::~TAO_Seq_Var_Base_T (void)
00024 {
00025   delete this->ptr_;
00026 }
00027 
00028 template<typename T>
00029 ACE_INLINE
00030 const T *
00031 TAO_Seq_Var_Base_T<T>::operator-> (void) const
00032 {
00033   return this->ptr_;
00034 }
00035 
00036 template<typename T>
00037 ACE_INLINE
00038 T *
00039 TAO_Seq_Var_Base_T<T>::operator-> (void)
00040 {
00041   return this->ptr_;
00042 }
00043 
00044 template<typename T>
00045 ACE_INLINE
00046 TAO_Seq_Var_Base_T<T>::operator const T & () const
00047 {
00048   return *this->ptr_;
00049 }
00050 
00051 template<typename T>
00052 ACE_INLINE
00053 TAO_Seq_Var_Base_T<T>::operator T & ()
00054 {
00055   return *this->ptr_;
00056 }
00057 
00058 template<typename T>
00059 ACE_INLINE
00060 TAO_Seq_Var_Base_T<T>::operator T & () const
00061 {
00062   return *this->ptr_;
00063 }
00064 
00065 template<typename T>
00066 ACE_INLINE
00067 const T &
00068 TAO_Seq_Var_Base_T<T>::in (void) const
00069 {
00070   return *this->ptr_;
00071 }
00072 
00073 template<typename T>
00074 ACE_INLINE
00075 T &
00076 TAO_Seq_Var_Base_T<T>::inout (void)
00077 {
00078   return *this->ptr_;
00079 }
00080 
00081 template<typename T>
00082 ACE_INLINE
00083 T *&
00084 TAO_Seq_Var_Base_T<T>::out (void)
00085 {
00086   delete this->ptr_;
00087   this->ptr_ = 0;
00088   return this->ptr_;
00089 }
00090 
00091 template<typename T>
00092 ACE_INLINE
00093 T *
00094 TAO_Seq_Var_Base_T<T>::_retn (void)
00095 {
00096   T * tmp = this->ptr_;
00097   this->ptr_ = 0;
00098   return tmp;
00099 }
00100 
00101 template<typename T>
00102 ACE_INLINE
00103 T *
00104 TAO_Seq_Var_Base_T<T>::ptr (void) const
00105 {
00106   return this->ptr_;
00107 }
00108 
00109 // ***************************************************************
00110 
00111 template<typename T>
00112 ACE_INLINE
00113 TAO_FixedSeq_Var_T<T>::TAO_FixedSeq_Var_T (void)
00114 {}
00115 
00116 template<typename T>
00117 ACE_INLINE
00118 TAO_FixedSeq_Var_T<T>::TAO_FixedSeq_Var_T (T * p)
00119   : TAO_Seq_Var_Base_T<T> (p)
00120 {}
00121 
00122 template<typename T>
00123 TAO_FixedSeq_Var_T<T>::TAO_FixedSeq_Var_T (
00124     const TAO_FixedSeq_Var_T<T> & p
00125   )
00126   : TAO_Seq_Var_Base_T<T> (p)
00127 {
00128 }
00129 
00130 // Fixed-size base types only.
00131 template<typename T>
00132 ACE_INLINE
00133 TAO_FixedSeq_Var_T<T>::TAO_FixedSeq_Var_T (const T & p)
00134 {
00135   ACE_NEW (this->ptr_,
00136            T (p));
00137 }
00138 
00139 template<typename T>
00140 ACE_INLINE
00141 TAO_FixedSeq_Var_T<T> &
00142 TAO_FixedSeq_Var_T<T>::operator= (T * p)
00143 {
00144   delete this->ptr_;
00145   this->ptr_ = p;
00146   return *this;
00147 }
00148 
00149 template<typename T>
00150 ACE_INLINE
00151 typename TAO_FixedSeq_Var_T<T>::T_elem
00152 TAO_FixedSeq_Var_T<T>::operator[] (CORBA::ULong index)
00153 {
00154   return this->ptr_->operator[] (index);
00155 }
00156 
00157 template<typename T>
00158 ACE_INLINE
00159 typename TAO_FixedSeq_Var_T<T>::T_const_elem
00160 TAO_FixedSeq_Var_T<T>::operator[] (CORBA::ULong index) const
00161 {
00162   return this->ptr_->operator[] (index);
00163 }
00164 
00165 // ***************************************************************
00166 
00167 template<typename T>
00168 ACE_INLINE
00169 TAO_VarSeq_Var_T<T>::TAO_VarSeq_Var_T (void)
00170 {
00171 }
00172 
00173 template<typename T>
00174 ACE_INLINE
00175 TAO_VarSeq_Var_T<T>::TAO_VarSeq_Var_T (T * p)
00176   : TAO_Seq_Var_Base_T<T> (p)
00177 {
00178 }
00179 
00180 template<typename T>
00181 TAO_VarSeq_Var_T<T>::TAO_VarSeq_Var_T (
00182     const TAO_VarSeq_Var_T<T> & p)
00183   : TAO_Seq_Var_Base_T<T> (p)
00184 {
00185 }
00186 
00187 template<typename T>
00188 ACE_INLINE
00189 TAO_VarSeq_Var_T<T> &
00190 TAO_VarSeq_Var_T<T>::operator= (T * p)
00191 {
00192   delete this->ptr_;
00193   this->ptr_ = p;
00194   return *this;
00195 }
00196 
00197 // Variable-size types only.
00198 template<typename T>
00199 ACE_INLINE
00200 TAO_VarSeq_Var_T<T>::operator T *& ()
00201 {
00202   return this->ptr_;
00203 }
00204 
00205 template<typename T>
00206 ACE_INLINE
00207 typename TAO_VarSeq_Var_T<T>::T_elem
00208 TAO_VarSeq_Var_T<T>::operator[] (CORBA::ULong index)
00209 {
00210   return this->ptr_->operator[] (index);
00211 }
00212 
00213 template<typename T>
00214 ACE_INLINE
00215 typename TAO_VarSeq_Var_T<T>::T_const_elem
00216 TAO_VarSeq_Var_T<T>::operator[] (CORBA::ULong index) const
00217 {
00218   return this->ptr_->operator[] (index);
00219 }
00220 
00221 
00222 TAO_END_VERSIONED_NAMESPACE_DECL

Generated on Tue Feb 2 17:37:52 2010 for TAO by  doxygen 1.4.7