summaryrefslogtreecommitdiff
path: root/TAO/tao/Managed_Types.i
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Managed_Types.i')
-rw-r--r--TAO/tao/Managed_Types.i61
1 files changed, 13 insertions, 48 deletions
diff --git a/TAO/tao/Managed_Types.i b/TAO/tao/Managed_Types.i
index aa03deb7c56..73f66c7cdf6 100644
--- a/TAO/tao/Managed_Types.i
+++ b/TAO/tao/Managed_Types.i
@@ -1,5 +1,4 @@
-// -*- C++ -*-
-//
+/* -*- C++ -*- */
// $Id$
// ============================================================================
@@ -17,8 +16,6 @@
// ****************************************************************
-TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-
// default CTOR initializes to empty string
ACE_INLINE
TAO_String_Manager::TAO_String_Manager (void)
@@ -33,12 +30,6 @@ TAO_String_Manager::TAO_String_Manager (const TAO_String_Manager &rhs)
{
}
-ACE_INLINE
-TAO_String_Manager::TAO_String_Manager (const char *s)
- : ptr_ (CORBA::string_dup (s))
-{
-}
-
// destructor
ACE_INLINE
TAO_String_Manager::~TAO_String_Manager (void)
@@ -50,14 +41,11 @@ TAO_String_Manager::~TAO_String_Manager (void)
ACE_INLINE TAO_String_Manager&
TAO_String_Manager::operator= (const TAO_String_Manager &rhs)
{
- // Strongly exception safe by means of copy and non-throwing swap
- // technique.
- TAO_String_Manager tmp (rhs);
-
- char * old_ptr = this->ptr_;
- this->ptr_ = tmp.ptr_;
- tmp.ptr_ = old_ptr;
+ if (this == &rhs)
+ return *this;
+ CORBA::string_free (this->ptr_);
+ this->ptr_ = CORBA::string_dup (rhs.ptr_);
return *this;
}
@@ -65,14 +53,8 @@ TAO_String_Manager::operator= (const TAO_String_Manager &rhs)
ACE_INLINE TAO_String_Manager &
TAO_String_Manager::operator= (const char * p)
{
- // Strongly exception safe by means of copy and non-throwing swap
- // technique.
- TAO_String_Manager tmp (p);
-
- char * old_ptr = this->ptr_;
- this->ptr_ = tmp.ptr_;
- tmp.ptr_ = old_ptr;
-
+ CORBA::string_free (this->ptr_);
+ this->ptr_ = CORBA::string_dup (p);
return *this;
}
@@ -226,12 +208,6 @@ TAO_WString_Manager::TAO_WString_Manager (const TAO_WString_Manager &rhs)
{
}
-ACE_INLINE
-TAO_WString_Manager::TAO_WString_Manager (const CORBA::WChar *ws)
- : ptr_ (CORBA::wstring_dup (ws))
-{
-}
-
// destructor
ACE_INLINE
TAO_WString_Manager::~TAO_WString_Manager (void)
@@ -243,14 +219,11 @@ TAO_WString_Manager::~TAO_WString_Manager (void)
ACE_INLINE TAO_WString_Manager&
TAO_WString_Manager::operator= (const TAO_WString_Manager &rhs)
{
- // Strongly exception safe by means of copy and non-throwing swap
- // technique.
- TAO_WString_Manager tmp (rhs);
-
- CORBA::WChar * old_ptr = this->ptr_;
- this->ptr_ = tmp.ptr_;
- tmp.ptr_ = old_ptr;
+ if (this == &rhs)
+ return *this;
+ CORBA::wstring_free (this->ptr_);
+ this->ptr_ = CORBA::wstring_dup (rhs.ptr_);
return *this;
}
@@ -258,14 +231,8 @@ TAO_WString_Manager::operator= (const TAO_WString_Manager &rhs)
ACE_INLINE TAO_WString_Manager &
TAO_WString_Manager::operator= (const CORBA::WChar * p)
{
- // Strongly exception safe by means of copy and non-throwing swap
- // technique.
- TAO_WString_Manager tmp (p);
-
- CORBA::WChar * old_ptr = this->ptr_;
- this->ptr_ = tmp.ptr_;
- tmp.ptr_ = old_ptr;
-
+ CORBA::wstring_free (this->ptr_);
+ this->ptr_ = CORBA::wstring_dup (p);
return *this;
}
@@ -403,5 +370,3 @@ TAO_SeqElem_WString_Manager::_retn (void)
*this->ptr_ = 0;
return temp;
}
-
-TAO_END_VERSIONED_NAMESPACE_DECL