summaryrefslogtreecommitdiff
path: root/trunk/TAO/tao/Array_VarOut_T.inl
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/tao/Array_VarOut_T.inl')
-rw-r--r--trunk/TAO/tao/Array_VarOut_T.inl385
1 files changed, 385 insertions, 0 deletions
diff --git a/trunk/TAO/tao/Array_VarOut_T.inl b/trunk/TAO/tao/Array_VarOut_T.inl
new file mode 100644
index 00000000000..85b5aa7532d
--- /dev/null
+++ b/trunk/TAO/tao/Array_VarOut_T.inl
@@ -0,0 +1,385 @@
+// -*- C++ -*-
+//
+//$Id$
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Var_Base_T<T,T_slice,TAG>::TAO_Array_Var_Base_T (void)
+ : ptr_ (0)
+{}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Var_Base_T<T,T_slice,TAG>::TAO_Array_Var_Base_T (T_slice * p)
+ : ptr_ (p)
+{}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Var_Base_T<T,T_slice,TAG>::TAO_Array_Var_Base_T (
+ const TAO_Array_Var_Base_T & p
+ )
+{
+ this->ptr_ = TAO::Array_Traits<FORANY>::dup (p.in ());
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Var_Base_T<T,T_slice,TAG>::~TAO_Array_Var_Base_T (void)
+{
+ TAO::Array_Traits<FORANY>::free (this->ptr_);
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Var_Base_T<T,T_slice,TAG>::operator T_slice * const & () const
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice const &
+TAO_Array_Var_Base_T<T,T_slice,TAG>::operator[] (CORBA::ULong index) const
+{
+ return this->ptr_[index];
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice &
+TAO_Array_Var_Base_T<T,T_slice,TAG>::operator[] (CORBA::ULong index)
+{
+ return this->ptr_[index];
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+const T_slice *
+TAO_Array_Var_Base_T<T,T_slice,TAG>::in (void) const
+{
+ // @todo Replace with C++ cast after vc6 has been dropped,
+ // vc6 can't handle this as const cast
+ return (const T_slice *) this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *
+TAO_Array_Var_Base_T<T,T_slice,TAG>::inout (void)
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *&
+TAO_Array_Var_Base_T<T,T_slice,TAG>::_retn_arg (void)
+{
+ TAO::Array_Traits<FORANY>::free (this->ptr_);
+ this->ptr_ = 0;
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *
+TAO_Array_Var_Base_T<T,T_slice,TAG>::_retn (void)
+{
+ T_slice * tmp = this->ptr_;
+ this->ptr_ = 0;
+ return tmp;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *
+TAO_Array_Var_Base_T<T,T_slice,TAG>::ptr (void) const
+{
+ return this->ptr_;
+}
+
+// *************************************************************
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_FixedArray_Var_T<T,T_slice,TAG>::TAO_FixedArray_Var_T (void)
+{}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_FixedArray_Var_T<T,T_slice,TAG>::TAO_FixedArray_Var_T (T_slice * p)
+ : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
+{}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_FixedArray_Var_T<T,T_slice,TAG>::TAO_FixedArray_Var_T (
+ const TAO_FixedArray_Var_T & p
+ )
+ : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
+{}
+
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *
+TAO_FixedArray_Var_T<T,T_slice,TAG>::out (void)
+{
+ return this->ptr_;
+}
+
+// *************************************************************
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_VarArray_Var_T<T,T_slice,TAG>::TAO_VarArray_Var_T (void)
+{}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_VarArray_Var_T<T,T_slice,TAG>::TAO_VarArray_Var_T (T_slice * p)
+ : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
+{}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_VarArray_Var_T<T,T_slice,TAG>::TAO_VarArray_Var_T (
+ const TAO_VarArray_Var_T & p
+ )
+ : TAO_Array_Var_Base_T<T,T_slice,TAG> (p)
+{}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_VarArray_Var_T<T,T_slice,TAG>::operator T_slice *& ()
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *&
+TAO_VarArray_Var_T<T,T_slice,TAG>::out (void)
+{
+ TAO::Array_Traits<FORANY>::free (this->ptr_);
+ this->ptr_ = 0;
+ return this->ptr_;
+}
+
+// *************************************************************
+
+template<typename T, typename T_var, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Out_T<T,T_var,T_slice,TAG>::TAO_Array_Out_T (T_slice *& p)
+ : ptr_ (p)
+{
+ this->ptr_ = 0;
+}
+
+template<typename T, typename T_var, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Out_T<T,T_var,T_slice,TAG>::TAO_Array_Out_T (T_var & p)
+ : ptr_ (p.out ())
+{
+ TAO::Array_Traits<FORANY>::free (this->ptr_);
+ this->ptr_ = 0;
+}
+
+template<typename T, typename T_var, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Out_T<T,T_var,T_slice,TAG>::TAO_Array_Out_T (
+ const TAO_Array_Out_T<T,T_var,T_slice,TAG> & p
+ )
+ : ptr_ (const_cast<THIS_OUT_TYPE &> (p).ptr_)
+{}
+
+template<typename T, typename T_var, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Out_T<T,T_var,T_slice,TAG> &
+TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator= (
+ const TAO_Array_Out_T<T,T_var,T_slice,TAG> & p
+ )
+{
+ this->ptr_ = const_cast<THIS_OUT_TYPE &> (p).ptr_;
+ return *this;
+}
+
+template<typename T, typename T_var, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Out_T<T,T_var,T_slice,TAG> &
+TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator= (T_slice *p)
+{
+ this->ptr_ = p;
+ return *this;
+}
+
+template<typename T, typename T_var, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator T_slice *& ()
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_var, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice &
+TAO_Array_Out_T<T,T_var,T_slice,TAG>::operator[] (CORBA::ULong index)
+{
+ return this->ptr_[index];
+}
+
+template<typename T, typename T_var, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *&
+TAO_Array_Out_T<T,T_var,T_slice,TAG>::ptr (void)
+{
+ return this->ptr_;
+}
+
+// *************************************************************
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Forany_T<T,T_slice,TAG>::TAO_Array_Forany_T (void)
+ : ptr_ (0),
+ nocopy_ (false)
+{}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Forany_T<T,T_slice,TAG>::TAO_Array_Forany_T (
+ T_slice * p,
+ CORBA::Boolean nocopy
+ )
+ : ptr_ (p),
+ nocopy_ (nocopy)
+{}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Forany_T<T,T_slice,TAG>::TAO_Array_Forany_T (
+ const TAO_Array_Forany_T<T,T_slice,TAG> & p
+ )
+ : ptr_ (p.ptr_),
+ nocopy_ (p.nocopy_)
+{
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Forany_T<T,T_slice,TAG>::~TAO_Array_Forany_T (void)
+{
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Forany_T<T,T_slice,TAG> &
+TAO_Array_Forany_T<T,T_slice,TAG>::operator= (T_slice * p)
+{
+ this->ptr_ = p;
+ return *this;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Forany_T<T,T_slice,TAG> &
+TAO_Array_Forany_T<T,T_slice,TAG>::operator= (
+ const TAO_Array_Forany_T<T,T_slice,TAG> & p
+ )
+{
+ this->ptr_ = p.ptr_;
+ this->nocopy_ = p.nocopy_;
+ return *this;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Forany_T<T,T_slice,TAG>::operator T_slice * const & () const
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+TAO_Array_Forany_T<T,T_slice,TAG>::operator T_slice *& ()
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+const T_slice &
+TAO_Array_Forany_T<T,T_slice,TAG>::operator[] (CORBA::ULong index) const
+{
+ const T_slice & tmp = this->ptr_[index];
+ return tmp;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice &
+TAO_Array_Forany_T<T,T_slice,TAG>::operator[] (CORBA::ULong index)
+{
+ return this->ptr_[index];
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+const T_slice *
+TAO_Array_Forany_T<T,T_slice,TAG>::in (void) const
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *
+TAO_Array_Forany_T<T,T_slice,TAG>::inout (void)
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *&
+TAO_Array_Forany_T<T,T_slice,TAG>::out (void)
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *
+TAO_Array_Forany_T<T,T_slice,TAG>::_retn (void)
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+CORBA::Boolean
+TAO_Array_Forany_T<T,T_slice,TAG>::nocopy (void) const
+{
+ return this->nocopy_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *
+TAO_Array_Forany_T<T,T_slice,TAG>::ptr (void) const
+{
+ return this->ptr_;
+}
+
+template<typename T, typename T_slice, typename TAG>
+ACE_INLINE
+T_slice *
+TAO_Array_Forany_T<T,T_slice,TAG>::tao_alloc (void)
+{
+ return TAO::Array_Traits<FORANY>::alloc ();
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL