1*0Sstevel@tonic-gate // Copyright (c) 1994 James Clark 2*0Sstevel@tonic-gate // See the file COPYING for copying permission. 3*0Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 4*0Sstevel@tonic-gate 5*0Sstevel@tonic-gate #ifndef CopyOwner_DEF_INCLUDED 6*0Sstevel@tonic-gate #define CopyOwner_DEF_INCLUDED 1 7*0Sstevel@tonic-gate 8*0Sstevel@tonic-gate #ifdef SP_NAMESPACE 9*0Sstevel@tonic-gate namespace SP_NAMESPACE { 10*0Sstevel@tonic-gate #endif 11*0Sstevel@tonic-gate 12*0Sstevel@tonic-gate template<class T> CopyOwner(const CopyOwner<T> & o)13*0Sstevel@tonic-gateCopyOwner<T>::CopyOwner(const CopyOwner<T> &o) 14*0Sstevel@tonic-gate : Owner<T>(o.pointer() ? o.pointer()->copy() : 0) 15*0Sstevel@tonic-gate { 16*0Sstevel@tonic-gate } 17*0Sstevel@tonic-gate 18*0Sstevel@tonic-gate template<class T> operator =(const CopyOwner<T> & o)19*0Sstevel@tonic-gatevoid CopyOwner<T>::operator=(const CopyOwner<T> &o) 20*0Sstevel@tonic-gate { 21*0Sstevel@tonic-gate Owner<T>::operator=(o.pointer() ? o.pointer()->copy() : 0); 22*0Sstevel@tonic-gate } 23*0Sstevel@tonic-gate 24*0Sstevel@tonic-gate #ifdef SP_NAMESPACE 25*0Sstevel@tonic-gate } 26*0Sstevel@tonic-gate #endif 27*0Sstevel@tonic-gate 28*0Sstevel@tonic-gate #endif /* not CopyOwner_DEF_INCLUDED */ 29