Array_VarOut_T.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 //Array_VarOut_T.inl,v 1.28 2006/06/21 12:14:14 jwillemsen Exp
00004 
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006 
00007 template<typename T, typename T_slice, typename TAG>
00008 ACE_INLINE
00009 TAO_Array_Var_Base_T<T,T_slice,TAG>::TAO_Array_Var_Base_T (void)
00010   : ptr_ (0)
00011 {}
00012 
00013 template<typename T, typename T_slice, typename TAG>
00014 ACE_INLINE
00015 TAO_Array_Var_Base_T<T,T_slice,TAG>::TAO_Array_Var_Base_T (T_slice * p)
00016   : ptr_ (p)
00017 {}
00018 
00019 template<typename T, typename T_slice, typename TAG>
00020 ACE_INLINE
00021 TAO_Array_Var_Base_T<T,T_slice,TAG>::TAO_Array_Var_Base_T (
00022     const TAO_Array_Var_Base_T & p
00023   )
00024 {
00025   this->ptr_ = TAO::Array_Traits<FORANY>::dup (p.in ());
00026 }
00027 
00028 template<typename T, typename T_slice, typename TAG>
00029 ACE_INLINE
00030 TAO_Array_Var_Base_T<T,T_slice,TAG>::~TAO_Array_Var_Base_T (void)
00031 {
00032   TAO::Array_Traits<FORANY>::free (this->ptr_);
00033 }
00034 
00035 template<typename T, typename T_slice, typename TAG>
00036 ACE_INLINE
00037 TAO_Array_Var_Base_T<T,T_slice,TAG>::operator T_slice * const & () const
00038 {
00039   return this->ptr_;
00040 }
00041 
00042 template<typename T, typename T_slice, typename TAG>
00043 ACE_INLINE
00044 T_slice const &
00045 TAO_Array_Var_Base_T<T,T_slice,TAG>::operator[] (CORBA::ULong index) const
00046 {
00047   return this->ptr_[index];
00048 }
00049 
00050 template<typename T, typename T_slice, typename TAG>
00051 ACE_INLINE
00052 T_slice &
00053 TAO_Array_Var_Base_T<T,T_slice,TAG>::operator[] (CORBA::ULong index)
00054 {
00055   return this->ptr_[index];
00056 }
00057 
00058 template<typename T, typename T_slice, typename TAG>
00059 ACE_INLINE
00060 const T_slice *
00061 TAO_Array_Var_Base_T<T,T_slice,TAG>::in (void) const
00062 {
00063   // @todo Replace with C++ cast after vc6 has been dropped,
00064   // vc6 can't handle this as const cast
00065   return (const T_slice *) this->ptr_;
00066 }
00067 
00068 template<typename T, typename T_slice, typename TAG>
00069 ACE_INLINE
00070 T_slice *
00071 TAO_Array_Var_Base_T<T,T_slice,TAG>::inout (void)
00072 {
00073   return this->ptr_;
00074 }
00075 
00076 template<typename T, typename T_slice, typename TAG>
00077 ACE_INLINE
00078 T_slice *&
00079 TAO_Array_Var_Base_T<T,T_slice,TAG>::_retn_arg (void)
00080 {
00081   TAO::Array_Traits<FORANY>::free (this->ptr_);
00082   this->ptr_ = 0;
00083   return this->ptr_;
00084 }
00085 
00086 template<typename T, typename T_slice, typename TAG>
00087 ACE_INLINE
00088 T_slice *
00089 TAO_Array_Var_Base_T<T,T_slice,TAG>::_retn (void)
00090 {
00091   T_slice * tmp = this->ptr_;
00092   this->ptr_ = 0;
00093   return tmp;
00094 }
00095 
00096 template<typename T, typename T_slice, typename TAG>
00097 ACE_INLINE
00098 T_slice *
00099 TAO_Array_Var_Base_T<T,T_slice,TAG>::ptr (void) const
00100 {
00101   return this->ptr_;
00102 }
00103 
00104 // *************************************************************
00105 
00106 template<typename T, typename T_slice, typename TAG>
00107 ACE_INLINE
00108 TAO_FixedArray_Var_T<T,T_slice,TAG>::TAO_FixedArray_Var_T (void)
00109 {}
00110 
00111 template<typename T, typename T_slice, typename TAG>
00112 ACE_INLINE
00113 TAO_FixedArray_Var_T<T,T_slice,TAG>::TAO_FixedArray_Var_T (T_slice * p)
00114   : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
00115 {}
00116 
00117 template<typename T, typename T_slice, typename TAG>
00118 ACE_INLINE
00119 TAO_FixedArray_Var_T<T,T_slice,TAG>::TAO_FixedArray_Var_T (
00120     const TAO_FixedArray_Var_T & p
00121   )
00122   : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
00123 {}
00124 
00125 
00126 template<typename T, typename T_slice, typename TAG>
00127 ACE_INLINE
00128 T_slice *
00129 TAO_FixedArray_Var_T<T,T_slice,TAG>::out (void)
00130 {
00131   return this->ptr_;
00132 }
00133 
00134 // *************************************************************
00135 
00136 template<typename T, typename T_slice, typename TAG>
00137 ACE_INLINE
00138 TAO_VarArray_Var_T<T,T_slice,TAG>::TAO_VarArray_Var_T (void)
00139 {}
00140 
00141 template<typename T, typename T_slice, typename TAG>
00142 ACE_INLINE
00143 TAO_VarArray_Var_T<T,T_slice,TAG>::TAO_VarArray_Var_T (T_slice * p)
00144   : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
00145 {}
00146 
00147 template<typename T, typename T_slice, typename TAG>
00148 ACE_INLINE
00149 TAO_VarArray_Var_T<T,T_slice,TAG>::TAO_VarArray_Var_T (
00150     const TAO_VarArray_Var_T & p
00151   )
00152   : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
00153 {}
00154 
00155 template<typename T, typename T_slice, typename TAG>
00156 ACE_INLINE
00157 TAO_VarArray_Var_T<T,T_slice,TAG>::operator T_slice *& ()
00158 {
00159   return this->ptr_;
00160 }
00161 
00162 template<typename T, typename T_slice, typename TAG>
00163 ACE_INLINE
00164 T_slice *&
00165 TAO_VarArray_Var_T<T,T_slice,TAG>::out (void)
00166 {
00167   TAO::Array_Traits<FORANY>::free (this->ptr_);
00168   this->ptr_ = 0;
00169   return this->ptr_;
00170 }
00171 
00172 // *************************************************************
00173 
00174 template<typename T, typename T_var, typename T_slice, typename TAG>
00175 ACE_INLINE
00176 TAO_Array_Out_T<T,T_var,T_slice,TAG>::TAO_Array_Out_T (T_slice *& p)
00177   : ptr_ (p)
00178 {
00179   this->ptr_ = 0;
00180 }
00181 
00182 template<typename T, typename T_var, typename T_slice, typename TAG>
00183 ACE_INLINE
00184 TAO_Array_Out_T<T,T_var,T_slice,TAG>::TAO_Array_Out_T (T_var & p)
00185   : ptr_ (p.out ())
00186 {
00187   TAO::Array_Traits<FORANY>::free (this->ptr_);
00188   this->ptr_ = 0;
00189 }
00190 
00191 template<typename T, typename T_var, typename T_slice, typename TAG>
00192 ACE_INLINE
00193 TAO_Array_Out_T<T,T_var,T_slice,TAG>::TAO_Array_Out_T (
00194     const TAO_Array_Out_T<T,T_var,T_slice,TAG> & p
00195   )
00196   : ptr_ (const_cast<THIS_OUT_TYPE &> (p).ptr_)
00197 {}
00198 
00199 template<typename T, typename T_var, typename T_slice, typename TAG>
00200 ACE_INLINE
00201 TAO_Array_Out_T<T,T_var,T_slice,TAG> &
00202 TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator= (
00203     const TAO_Array_Out_T<T,T_var,T_slice,TAG> & p
00204   )
00205 {
00206   this->ptr_ = const_cast<THIS_OUT_TYPE &> (p).ptr_;
00207   return *this;
00208 }
00209 
00210 template<typename T, typename T_var, typename T_slice, typename TAG>
00211 ACE_INLINE
00212 TAO_Array_Out_T<T,T_var,T_slice,TAG> &
00213 TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator= (T_slice *p)
00214 {
00215   this->ptr_ = p;
00216   return *this;
00217 }
00218 
00219 template<typename T, typename T_var, typename T_slice, typename TAG>
00220 ACE_INLINE
00221 TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator T_slice *& ()
00222 {
00223   return this->ptr_;
00224 }
00225 
00226 template<typename T, typename T_var, typename T_slice, typename TAG>
00227 ACE_INLINE
00228 T_slice &
00229 TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator[] (CORBA::ULong index)
00230 {
00231   return this->ptr_[index];
00232 }
00233 
00234 template<typename T, typename T_var, typename T_slice, typename TAG>
00235 ACE_INLINE
00236 T_slice *&
00237 TAO_Array_Out_T<T,T_var,T_slice,TAG>::ptr (void)
00238 {
00239   return this->ptr_;
00240 }
00241 
00242 // *************************************************************
00243 
00244 template<typename T, typename T_slice, typename TAG>
00245 ACE_INLINE
00246 TAO_Array_Forany_T<T,T_slice,TAG>::TAO_Array_Forany_T (void)
00247   : ptr_ (0),
00248     nocopy_ (false)
00249 {}
00250 
00251 template<typename T, typename T_slice, typename TAG>
00252 ACE_INLINE
00253 TAO_Array_Forany_T<T,T_slice,TAG>::TAO_Array_Forany_T (
00254     T_slice * p,
00255     CORBA::Boolean nocopy
00256   )
00257   : ptr_ (p),
00258     nocopy_ (nocopy)
00259 {}
00260 
00261 template<typename T, typename T_slice, typename TAG>
00262 ACE_INLINE
00263 TAO_Array_Forany_T<T,T_slice,TAG>::TAO_Array_Forany_T (
00264     const TAO_Array_Forany_T<T,T_slice,TAG> & p
00265   )
00266   : ptr_ (p.ptr_),
00267     nocopy_ (p.nocopy_)
00268 {
00269 }
00270 
00271 template<typename T, typename T_slice, typename TAG>
00272 ACE_INLINE
00273 TAO_Array_Forany_T<T,T_slice,TAG>::~TAO_Array_Forany_T (void)
00274 {
00275 }
00276 
00277 template<typename T, typename T_slice, typename TAG>
00278 ACE_INLINE
00279 TAO_Array_Forany_T<T,T_slice,TAG> &
00280 TAO_Array_Forany_T<T,T_slice,TAG>::operator= (T_slice * p)
00281 {
00282   this->ptr_ = p;
00283   return *this;
00284 }
00285 
00286 template<typename T, typename T_slice, typename TAG>
00287 ACE_INLINE
00288 TAO_Array_Forany_T<T,T_slice,TAG> &
00289 TAO_Array_Forany_T<T,T_slice,TAG>::operator= (
00290     const TAO_Array_Forany_T<T,T_slice,TAG> & p
00291   )
00292 {
00293   this->ptr_ = p.ptr_;
00294   this->nocopy_ = p.nocopy_;
00295   return *this;
00296 }
00297 
00298 template<typename T, typename T_slice, typename TAG>
00299 ACE_INLINE
00300 TAO_Array_Forany_T<T,T_slice,TAG>::operator T_slice * const & () const
00301 {
00302   return this->ptr_;
00303 }
00304 
00305 template<typename T, typename T_slice, typename TAG>
00306 ACE_INLINE
00307 TAO_Array_Forany_T<T,T_slice,TAG>::operator T_slice *& ()
00308 {
00309   return this->ptr_;
00310 }
00311 
00312 template<typename T, typename T_slice, typename TAG>
00313 ACE_INLINE
00314 const T_slice &
00315 TAO_Array_Forany_T<T,T_slice,TAG>::operator[] (CORBA::ULong index) const
00316 {
00317   const T_slice & tmp = this->ptr_[index];
00318   return tmp;
00319 }
00320 
00321 template<typename T, typename T_slice, typename TAG>
00322 ACE_INLINE
00323 T_slice &
00324 TAO_Array_Forany_T<T,T_slice,TAG>::operator[] (CORBA::ULong index)
00325 {
00326   return this->ptr_[index];
00327 }
00328 
00329 template<typename T, typename T_slice, typename TAG>
00330 ACE_INLINE
00331 const T_slice *
00332 TAO_Array_Forany_T<T,T_slice,TAG>::in (void) const
00333 {
00334   return this->ptr_;
00335 }
00336 
00337 template<typename T, typename T_slice, typename TAG>
00338 ACE_INLINE
00339 T_slice *
00340 TAO_Array_Forany_T<T,T_slice,TAG>::inout (void)
00341 {
00342   return this->ptr_;
00343 }
00344 
00345 template<typename T, typename T_slice, typename TAG>
00346 ACE_INLINE
00347 T_slice *&
00348 TAO_Array_Forany_T<T,T_slice,TAG>::out (void)
00349 {
00350   return this->ptr_;
00351 }
00352 
00353 template<typename T, typename T_slice, typename TAG>
00354 ACE_INLINE
00355 T_slice *
00356 TAO_Array_Forany_T<T,T_slice,TAG>::_retn (void)
00357 {
00358   return this->ptr_;
00359 }
00360 
00361 template<typename T, typename T_slice, typename TAG>
00362 ACE_INLINE
00363 CORBA::Boolean
00364 TAO_Array_Forany_T<T,T_slice,TAG>::nocopy (void) const
00365 {
00366   return this->nocopy_;
00367 }
00368 
00369 template<typename T, typename T_slice, typename TAG>
00370 ACE_INLINE
00371 T_slice *
00372 TAO_Array_Forany_T<T,T_slice,TAG>::ptr (void) const
00373 {
00374   return this->ptr_;
00375 }
00376 
00377 template<typename T, typename T_slice, typename TAG>
00378 ACE_INLINE
00379 T_slice *
00380 TAO_Array_Forany_T<T,T_slice,TAG>::tao_alloc (void)
00381 {
00382   return TAO::Array_Traits<FORANY>::alloc ();
00383 }
00384 
00385 TAO_END_VERSIONED_NAMESPACE_DECL

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