summaryrefslogtreecommitdiff
path: root/TAO/tao/Sequence_T.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Sequence_T.cpp')
-rw-r--r--TAO/tao/Sequence_T.cpp327
1 files changed, 39 insertions, 288 deletions
diff --git a/TAO/tao/Sequence_T.cpp b/TAO/tao/Sequence_T.cpp
index 536c7262ba7..291aa27fb9b 100644
--- a/TAO/tao/Sequence_T.cpp
+++ b/TAO/tao/Sequence_T.cpp
@@ -17,23 +17,13 @@ TAO_Unbounded_Sequence<T>::
TAO_Unbounded_Sequence (const TAO_Unbounded_Sequence<T> &rhs)
: TAO_Unbounded_Base_Sequence (rhs)
{
- if (rhs.buffer_ != 0)
- {
- T *tmp1 = TAO_Unbounded_Sequence<T>::allocbuf (this->maximum_);
- T * const tmp2 =
- ACE_reinterpret_cast (T * ACE_CAST_CONST, rhs.buffer_);
+ T *tmp1 = TAO_Unbounded_Sequence<T>::allocbuf (this->maximum_);
+ T * const tmp2 = ACE_reinterpret_cast (T * ACE_CAST_CONST, rhs.buffer_);
- for (CORBA::ULong i = 0; i < this->length_; ++i)
- {
- tmp1[i] = tmp2[i];
- }
+ for (CORBA::ULong i = 0; i < this->length_; ++i)
+ tmp1[i] = tmp2[i];
- this->buffer_ = tmp1;
- }
- else
- {
- this->buffer_ = 0;
- }
+ this->buffer_ = tmp1;
}
template <class T> TAO_Unbounded_Sequence<T> &
@@ -137,24 +127,14 @@ TAO_Bounded_Sequence<T, MAX>::
TAO_Bounded_Sequence (const TAO_Bounded_Sequence<T, MAX> &rhs)
: TAO_Bounded_Base_Sequence (rhs)
{
- if (rhs.buffer_ != 0)
- {
- T *tmp1 = TAO_Bounded_Sequence<T, MAX>::allocbuf (MAX);
+ T *tmp1 = TAO_Bounded_Sequence<T, MAX>::allocbuf (MAX);
- T * const tmp2 =
- ACE_reinterpret_cast (T * ACE_CAST_CONST, rhs.buffer_);
+ T * const tmp2 = ACE_reinterpret_cast (T * ACE_CAST_CONST, rhs.buffer_);
- for (CORBA::ULong i = 0; i < this->length_; ++i)
- {
- tmp1[i] = tmp2[i];
- }
+ for (CORBA::ULong i = 0; i < this->length_; ++i)
+ tmp1[i] = tmp2[i];
- this->buffer_ = tmp1;
- }
- else
- {
- this->buffer_ = 0;
- }
+ this->buffer_ = tmp1;
}
template <class T, size_t MAX> TAO_Bounded_Sequence<T, MAX> &
@@ -283,22 +263,6 @@ TAO_Object_Manager<T,T_var>::operator=(T_var &p)
return *this;
}
-template <class T, class T_var> T *&
-TAO_Object_Manager<T,T_var>::out (void)
-{
- CORBA::release (*this->ptr_);
- *this->ptr_ = T::_nil ();
- return *this->ptr_;
-}
-
-template <class T, class T_var> T *
-TAO_Object_Manager<T,T_var>::_retn (void)
-{
- T *temp = *this->ptr_;
- *this->ptr_ = T::_nil ();
- return temp;
-}
-
// *************************************************************
// class TAO_Pseudo_Object_Manager
// *************************************************************
@@ -375,24 +339,13 @@ TAO_Unbounded_Object_Sequence<T,T_var>::
TAO_Unbounded_Object_Sequence (const TAO_Unbounded_Object_Sequence<T,T_var> &rhs)
: TAO_Unbounded_Base_Sequence (rhs)
{
- if (rhs.buffer_ != 0)
- {
- T **tmp1 =
- TAO_Unbounded_Object_Sequence<T,T_var>::allocbuf (this->maximum_);
- T ** const tmp2 =
- ACE_reinterpret_cast (T ** ACE_CAST_CONST, rhs.buffer_);
+ T **tmp1 = TAO_Unbounded_Object_Sequence<T,T_var>::allocbuf (this->maximum_);
+ T ** const tmp2 = ACE_reinterpret_cast (T ** ACE_CAST_CONST, rhs.buffer_);
- for (CORBA::ULong i = 0; i < rhs.length_; ++i)
- {
- tmp1[i] = T::_duplicate (tmp2[i]);
- }
+ for (CORBA::ULong i = 0; i < rhs.length_; ++i)
+ tmp1[i] = T::_duplicate (tmp2[i]);
- this->buffer_ = tmp1;
- }
- else
- {
- this->buffer_ = 0;
- }
+ this->buffer_ = tmp1;
}
template<class T, class T_var>
@@ -565,25 +518,12 @@ TAO_Bounded_Object_Sequence<T, T_var,MAX>::
TAO_Bounded_Object_Sequence (const TAO_Bounded_Object_Sequence<T, T_var,MAX> &rhs)
: TAO_Bounded_Base_Sequence (rhs)
{
- if (rhs.buffer_ != 0)
- {
- T **tmp1 =
- TAO_Bounded_Object_Sequence<T, T_var,MAX>::allocbuf (MAX);
-
- T ** const tmp2 =
- ACE_reinterpret_cast (T** ACE_CAST_CONST, rhs.buffer_);
-
- for (CORBA::ULong i = 0; i < rhs.length_; i++)
- {
- tmp1[i] = T::_duplicate (tmp2[i]);
- }
-
- this->buffer_ = tmp1;
- }
- else
- {
- this->buffer_ = 0;
- }
+ T **tmp1 =
+ TAO_Bounded_Object_Sequence<T, T_var,MAX>::allocbuf (MAX);
+ T ** const tmp2 = ACE_reinterpret_cast (T** ACE_CAST_CONST, rhs.buffer_);
+ for (CORBA::ULong i = 0; i < rhs.length_; i++)
+ tmp1[i] = T::_duplicate (tmp2[i]);
+ this->buffer_ = tmp1;
}
template <class T, class T_var, size_t MAX> TAO_Bounded_Object_Sequence<T, T_var,MAX>&
@@ -717,25 +657,13 @@ TAO_Unbounded_Pseudo_Sequence<T,T_var>::
TAO_Unbounded_Pseudo_Sequence (const TAO_Unbounded_Pseudo_Sequence<T,T_var> &rhs)
: TAO_Unbounded_Base_Sequence (rhs)
{
- if (rhs.buffer_ != 0)
- {
- T **tmp1 =
- TAO_Unbounded_Pseudo_Sequence<T,T_var>::allocbuf (this->maximum_);
-
- T ** const tmp2 =
- ACE_reinterpret_cast (T ** ACE_CAST_CONST, rhs.buffer_);
+ T **tmp1 = TAO_Unbounded_Pseudo_Sequence<T,T_var>::allocbuf (this->maximum_);
+ T ** const tmp2 = ACE_reinterpret_cast (T ** ACE_CAST_CONST, rhs.buffer_);
- for (CORBA::ULong i = 0; i < rhs.length_; ++i)
- {
- tmp1[i] = T::_duplicate (tmp2[i]);
- }
+ for (CORBA::ULong i = 0; i < rhs.length_; ++i)
+ tmp1[i] = T::_duplicate (tmp2[i]);
- this->buffer_ = tmp1;
- }
- else
- {
- this->buffer_ = 0;
- }
+ this->buffer_ = tmp1;
}
template<class T, class T_var>
@@ -888,25 +816,12 @@ TAO_Bounded_Pseudo_Sequence<T, T_var,MAX>::
TAO_Bounded_Pseudo_Sequence (const TAO_Bounded_Pseudo_Sequence<T, T_var,MAX> &rhs)
: TAO_Bounded_Base_Sequence (rhs)
{
- if (rhs.buffer_ = 0)
- {
- T **tmp1 =
- TAO_Bounded_Pseudo_Sequence<T, T_var,MAX>::allocbuf (MAX);
-
- T ** const tmp2 =
- ACE_reinterpret_cast (T** ACE_CAST_CONST, rhs.buffer_);
-
- for (CORBA::ULong i = 0; i < rhs.length_; i++)
- {
- tmp1[i] = T::_duplicate (tmp2[i]);
- }
-
- this->buffer_ = tmp1;
- }
- else
- {
- this->buffer_ = 0;
- }
+ T **tmp1 =
+ TAO_Bounded_Pseudo_Sequence<T, T_var,MAX>::allocbuf (MAX);
+ T ** const tmp2 = ACE_reinterpret_cast (T** ACE_CAST_CONST, rhs.buffer_);
+ for (CORBA::ULong i = 0; i < rhs.length_; i++)
+ tmp1[i] = T::_duplicate (tmp2[i]);
+ this->buffer_ = tmp1;
}
template <class T, class T_var, size_t MAX> TAO_Bounded_Pseudo_Sequence<T, T_var,MAX>&
@@ -1019,26 +934,15 @@ TAO_Bounded_String_Sequence<MAX>::
TAO_Bounded_String_Sequence (const TAO_Bounded_String_Sequence<MAX> &rhs)
: TAO_Bounded_Base_Sequence (rhs)
{
- if (rhs.buffer_ != 0)
- {
- char **tmp1 =
- TAO_Bounded_String_Sequence<MAX>::allocbuf (this->maximum_);
-
- char ** const tmp2 =
- ACE_reinterpret_cast (char ** ACE_CAST_CONST,
- rhs.buffer_);
+ char **tmp1 =
+ TAO_Bounded_String_Sequence<MAX>::allocbuf (this->maximum_);
+ char ** const tmp2 = ACE_reinterpret_cast (char ** ACE_CAST_CONST,
+ rhs.buffer_);
- for (CORBA::ULong i=0; i < rhs.length_; i++)
- {
- tmp1[i] = CORBA::string_dup (tmp2[i]);
- }
+ for (CORBA::ULong i=0; i < rhs.length_; i++)
+ tmp1[i] = CORBA::string_dup (tmp2[i]);
- this->buffer_ = tmp1;
- }
- else
- {
- this->buffer_ = 0;
- }
+ this->buffer_ = tmp1;
}
template<size_t MAX> TAO_Bounded_String_Sequence<MAX>&
@@ -1150,157 +1054,4 @@ TAO_Bounded_String_Sequence<MAX>::_shrink_buffer (CORBA::ULong nl,
}
}
-// *************************************************************
-// Operations for class TAO_Bounded_WString_Sequence
-// *************************************************************
-
-template<size_t MAX>
-TAO_Bounded_WString_Sequence<MAX>::
-TAO_Bounded_WString_Sequence (void)
- : TAO_Bounded_Base_Sequence (MAX,
- TAO_Bounded_WString_Sequence<MAX>::allocbuf(MAX))
-{
-}
-
-template<size_t MAX>
-TAO_Bounded_WString_Sequence<MAX>::
-TAO_Bounded_WString_Sequence (const TAO_Bounded_WString_Sequence<MAX> &rhs)
- : TAO_Bounded_Base_Sequence (rhs)
-{
- if (rhs.buffer_ != 0)
- {
- CORBA::WChar **tmp1 =
- TAO_Bounded_WString_Sequence<MAX>::allocbuf (this->maximum_);
-
- CORBA::WChar ** const tmp2 =
- ACE_reinterpret_cast (CORBA::WChar ** ACE_CAST_CONST,
- rhs.buffer_);
-
- for (CORBA::ULong i=0; i < rhs.length_; i++)
- {
- tmp1[i] = CORBA::wstring_dup (tmp2[i]);
- }
-
- this->buffer_ = tmp1;
- }
- else
- {
- this->buffer_ = 0;
- }
-}
-
-template<size_t MAX> TAO_Bounded_WString_Sequence<MAX>&
-TAO_Bounded_WString_Sequence<MAX>::operator=
-(const TAO_Bounded_WString_Sequence<MAX> &rhs)
-{
- if (this == &rhs)
- return *this;
-
- if (this->release_)
- {
- CORBA::WChar **tmp = ACE_reinterpret_cast (CORBA::WChar **,
- this->buffer_);
-
- for (CORBA::ULong i = 0; i < this->length_; ++i)
- {
- CORBA::wstring_free (tmp[i]);
- tmp[i] = 0;
- }
- // No need to reallocate because the buffer is supposed to be of
- // <MAX> size.
- }
- else
- this->buffer_ =
- TAO_Bounded_WString_Sequence<MAX>::allocbuf (rhs.maximum_);
-
- TAO_Bounded_Base_Sequence::operator= (rhs);
-
- CORBA::WChar **tmp1 = ACE_reinterpret_cast (CORBA::WChar **,
- this->buffer_);
- CORBA::WChar ** const tmp2 =
- ACE_reinterpret_cast (CORBA::WChar ** ACE_CAST_CONST,
- rhs.buffer_);
-
- for (CORBA::ULong i = 0; i < rhs.length_; i++)
- tmp1[i] = CORBA::wstring_dup (tmp2[i]);
- return *this;
-}
-
-template<size_t MAX> TAO_SeqElem_WString_Manager
-TAO_Bounded_WString_Sequence<MAX>::operator[] (CORBA::ULong slot) const
-{
- ACE_ASSERT (slot < this->maximum_);
- CORBA::WChar **const tmp =
- ACE_reinterpret_cast (CORBA::WChar **ACE_CAST_CONST,
- this->buffer_);
- return TAO_SeqElem_WString_Manager (tmp + slot,
- this->release_);
-}
-
-template<size_t MAX> CORBA::WChar **
-TAO_Bounded_WString_Sequence<MAX>::allocbuf (CORBA::ULong)
-{
- CORBA::WChar **buf = 0;
-
- ACE_NEW_RETURN (buf, CORBA::WChar *[MAX], 0);
-
- for (CORBA::ULong i = 0; i < MAX; i++)
- buf[i] = 0;
-
- return buf;
-}
-
-template<size_t MAX> void
-TAO_Bounded_WString_Sequence<MAX>::freebuf (CORBA::WChar* *buffer)
-{
- // How much do we deallocate? Easy! <allocbuf> always creates MAX
- // elements and initialize them to 0 (they say NULL, yuck!). So we
- // can be complaint and call CORBA::wstring_free() on each one.
-
- for (CORBA::ULong i = 0; i < MAX; ++i)
- {
- if (buffer[i] != 0)
- {
- CORBA::wstring_free (buffer[i]);
- buffer[i] = 0;
- }
- }
-
- delete [] buffer;
-}
-
-template<size_t MAX> void
-TAO_Bounded_WString_Sequence<MAX>::_allocate_buffer (CORBA::ULong /* length */)
-{
- // For this class memory is never reallocated so the implementation
- // is *really* simple.
- this->buffer_ =
- TAO_Bounded_WString_Sequence<MAX>::allocbuf (MAX);
-}
-
-template<size_t MAX> void
-TAO_Bounded_WString_Sequence<MAX>::_deallocate_buffer (void)
-{
- if (this->release_ == 0)
- return;
- CORBA::WChar **tmp = ACE_reinterpret_cast (CORBA::WChar **,
- this->buffer_);
- TAO_Bounded_WString_Sequence<MAX>::freebuf (tmp);
- this->buffer_ = 0;
-}
-
-template<size_t MAX> void
-TAO_Bounded_WString_Sequence<MAX>::_shrink_buffer (CORBA::ULong nl,
- CORBA::ULong ol)
-{
- CORBA::WChar **tmp = ACE_reinterpret_cast (CORBA::WChar **,
- this->buffer_);
-
- for (CORBA::ULong i = nl; i < ol; ++i)
- {
- CORBA::wstring_free (tmp[i]);
- tmp[i] = 0;
- }
-}
-
#endif /* TAO_SEQUENCE_T_C */