diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-07-07 21:15:35 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-07-07 21:15:35 +0000 |
commit | cce11da8ea79b8a0b0c706199726a02697dee887 (patch) | |
tree | a734a5aef5b1b51d32695f752c8a78a50a81a547 /TAO/tao/Sequence_T.cpp | |
parent | ea25b7f4c10450dc925be3d3a126b4521a42c9c5 (diff) | |
download | ATCD-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.cpp | 22 |
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) { |