TAO_Array_Var_Base_T< T, T_slice, TAG > Class Template Reference

Parametrized implementation of _var base class for arrays. More...

#include <Array_VarOut_T.h>

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

Inheritance graph
[legend]
List of all members.

Public Types

typedef T_slice _slice_type
typedef T_slice const & _const_subscript_type
typedef T_slice & _subscript_type
typedef const _slice_type_in_type
typedef _slice_type_inout_type
typedef _slice_type_retn_type
typedef _slice_type *& _retn_arg_type

Public Member Functions

 TAO_Array_Var_Base_T (void)
 TAO_Array_Var_Base_T (_slice_type *)
 TAO_Array_Var_Base_T (const TAO_Array_Var_Base_T< T, T_slice, TAG > &)
 ~TAO_Array_Var_Base_T (void)
_subscript_type operator[] (CORBA::ULong index)
_const_subscript_type operator[] (CORBA::ULong index) const
 operator _slice_type *const & () const
_in_type in (void) const
_inout_type inout (void)
_retn_type _retn (void)
_retn_arg_type _retn_arg (void)
_retn_type ptr (void) const

Protected Types

typedef TAO_Array_Forany_T<
T, T_slice, TAG > 
FORANY

Protected Attributes

_slice_typeptr_

Detailed Description

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

Parametrized implementation of _var base class for arrays.

Definition at line 95 of file Array_VarOut_T.h.


Member Typedef Documentation

template<typename T, typename T_slice, typename TAG>
typedef T_slice const& TAO_Array_Var_Base_T< T, T_slice, TAG >::_const_subscript_type
 

Definition at line 99 of file Array_VarOut_T.h.

template<typename T, typename T_slice, typename TAG>
typedef const _slice_type* TAO_Array_Var_Base_T< T, T_slice, TAG >::_in_type
 

Definition at line 111 of file Array_VarOut_T.h.

template<typename T, typename T_slice, typename TAG>
typedef _slice_type* TAO_Array_Var_Base_T< T, T_slice, TAG >::_inout_type
 

Definition at line 112 of file Array_VarOut_T.h.

template<typename T, typename T_slice, typename TAG>
typedef _slice_type*& TAO_Array_Var_Base_T< T, T_slice, TAG >::_retn_arg_type
 

Definition at line 114 of file Array_VarOut_T.h.

template<typename T, typename T_slice, typename TAG>
typedef _slice_type* TAO_Array_Var_Base_T< T, T_slice, TAG >::_retn_type
 

Definition at line 113 of file Array_VarOut_T.h.

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

Reimplemented in TAO_FixedArray_Var_T< T, T_slice, TAG >, and TAO_VarArray_Var_T< T, T_slice, TAG >.

Definition at line 98 of file Array_VarOut_T.h.

template<typename T, typename T_slice, typename TAG>
typedef T_slice& TAO_Array_Var_Base_T< T, T_slice, TAG >::_subscript_type
 

Definition at line 100 of file Array_VarOut_T.h.

template<typename T, typename T_slice, typename TAG>
typedef TAO_Array_Forany_T<T,T_slice,TAG> TAO_Array_Var_Base_T< T, T_slice, TAG >::FORANY [protected]
 

Reimplemented in TAO_FixedArray_Var_T< T, T_slice, TAG >, and TAO_VarArray_Var_T< T, T_slice, TAG >.

Definition at line 125 of file Array_VarOut_T.h.


Constructor & Destructor Documentation

template<typename T, typename T_slice, typename TAG>
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_Array_Var_Base_T< T, T_slice, TAG >::TAO_Array_Var_Base_T void   ) 
 

Definition at line 9 of file Array_VarOut_T.inl.

00010   : ptr_ (0)
00011 {}

template<typename T, typename T_slice, typename TAG>
TAO_Array_Var_Base_T< T, T_slice, TAG >::TAO_Array_Var_Base_T _slice_type  ) 
 

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< T, T_slice, TAG > &   ) 
 

Definition at line 21 of file Array_VarOut_T.inl.

References TAO_Array_Var_Base_T< T, T_slice, TAG >::in().

00024 {
00025   this->ptr_ = TAO::Array_Traits<FORANY>::dup (p.in ());
00026 }

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   ) 
 

Definition at line 30 of file Array_VarOut_T.inl.

00031 {
00032   TAO::Array_Traits<FORANY>::free (this->ptr_);
00033 }


Member Function Documentation

template<typename T, typename T_slice, typename TAG>
ACE_INLINE T_slice * TAO_Array_Var_Base_T< T, T_slice, TAG >::_retn void   ) 
 

Definition at line 89 of file Array_VarOut_T.inl.

00090 {
00091   T_slice * tmp = this->ptr_;
00092   this->ptr_ = 0;
00093   return tmp;
00094 }

template<typename T, typename T_slice, typename TAG>
ACE_INLINE T_slice *& TAO_Array_Var_Base_T< T, T_slice, TAG >::_retn_arg void   ) 
 

Definition at line 79 of file Array_VarOut_T.inl.

00080 {
00081   TAO::Array_Traits<FORANY>::free (this->ptr_);
00082   this->ptr_ = 0;
00083   return this->ptr_;
00084 }

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
 

Definition at line 61 of file Array_VarOut_T.inl.

Referenced by TAO_VarArray_Var_T< T, T_slice, TAG >::operator=(), TAO_FixedArray_Var_T< T, T_slice, TAG >::operator=(), and TAO_Array_Var_Base_T< T, T_slice, TAG >::TAO_Array_Var_Base_T().

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 }

template<typename T, typename T_slice, typename TAG>
ACE_INLINE T_slice * TAO_Array_Var_Base_T< T, T_slice, TAG >::inout void   ) 
 

Definition at line 71 of file Array_VarOut_T.inl.

00072 {
00073   return this->ptr_;
00074 }

template<typename T, typename T_slice, typename TAG>
TAO_Array_Var_Base_T< T, T_slice, TAG >::operator _slice_type *const &  )  const
 

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
 

Definition at line 45 of file Array_VarOut_T.inl.

00046 {
00047   return this->ptr_[index];
00048 }

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  ) 
 

Definition at line 53 of file Array_VarOut_T.inl.

00054 {
00055   return this->ptr_[index];
00056 }

template<typename T, typename T_slice, typename TAG>
ACE_INLINE T_slice * TAO_Array_Var_Base_T< T, T_slice, TAG >::ptr void   )  const
 

Definition at line 99 of file Array_VarOut_T.inl.

00100 {
00101   return this->ptr_;
00102 }


Member Data Documentation

template<typename T, typename T_slice, typename TAG>
_slice_type* TAO_Array_Var_Base_T< T, T_slice, TAG >::ptr_ [protected]
 

Definition at line 126 of file Array_VarOut_T.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:12:13 2006 for TAO by doxygen 1.3.6