summaryrefslogtreecommitdiff
path: root/TAO/tao/Sequence_T.cpp
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-07-07 21:15:35 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-07-07 21:15:35 +0000
commitcce11da8ea79b8a0b0c706199726a02697dee887 (patch)
treea734a5aef5b1b51d32695f752c8a78a50a81a547 /TAO/tao/Sequence_T.cpp
parentea25b7f4c10450dc925be3d3a126b4521a42c9c5 (diff)
downloadATCD-cce11da8ea79b8a0b0c706199726a02697dee887.tar.gz
ChangeLogTag:Wed Jul 7 16:14:55 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Sequence_T.cpp')
-rw-r--r--TAO/tao/Sequence_T.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/TAO/tao/Sequence_T.cpp b/TAO/tao/Sequence_T.cpp
index 31f1927083f..658b5d15af5 100644
--- a/TAO/tao/Sequence_T.cpp
+++ b/TAO/tao/Sequence_T.cpp
@@ -4,6 +4,7 @@
#define TAO_SEQUENCE_T_C
#include "tao/Sequence_T.h"
+#include "tao/varout.h"
#if !defined (__ACE_INLINE__)
#include "tao/Sequence_T.i"
@@ -193,9 +194,9 @@ TAO_Bounded_Sequence<T, MAX>::_deallocate_buffer (void)
// class TAO_Object_Manager
// *************************************************************
-template <class T, class T_var>
-TAO_Object_Manager<T,T_var>&
-TAO_Object_Manager<T,T_var>::operator= (const TAO_Object_Manager<T,T_var> &rhs)
+template <class T, class T_var> TAO_Object_Manager<T,T_var>&
+TAO_Object_Manager<T,T_var>::
+ operator= (const TAO_Object_Manager<T,T_var> &rhs)
{
if (this == &rhs)
return *this;
@@ -211,6 +212,21 @@ TAO_Object_Manager<T,T_var>::operator= (const TAO_Object_Manager<T,T_var> &rhs)
return *this;
}
+template <class T, class T_var> TAO_Object_Manager<T,T_var>&
+TAO_Object_Manager<T,T_var>::
+ operator= (const TAO_Object_Field_T<T,T_var> &rhs)
+{
+ if (this->release_)
+ {
+ CORBA::release (*this->ptr_);
+ *this->ptr_ = T::_duplicate (rhs.in ());
+ }
+ else
+ *this->ptr_ = rhs.in ();
+
+ return *this;
+}
+
template <class T, class T_var>TAO_Object_Manager<T,T_var> &
TAO_Object_Manager<T,T_var>::operator=(T* p)
{