diff --git a/uppsrc/Core/Index.h b/uppsrc/Core/Index.h index a2c31728b..b77a83697 100644 --- a/uppsrc/Core/Index.h +++ b/uppsrc/Core/Index.h @@ -191,7 +191,7 @@ protected: }; template > -class Index : Moveable< Index >, +class Index : MoveableAndDeepCopyOption< Index >, public AIndex, HashFn> { typedef AIndex< T, Vector, HashFn > B; public: @@ -205,8 +205,6 @@ public: Index& operator=(pick_ Vector& x) { B::operator=(x); return *this; } - Index& operator<<=(const Index& x) { B::operator<<=(x.GetKeys()); return *this; } - friend void Swap(Index& a, Index& b) { a.B::Swap(b); } typedef typename B::ConstIterator ConstIterator; // GCC bug (?) @@ -236,8 +234,6 @@ public: ArrayIndex& operator=(pick_ Array& x) { B::operator=(x); return *this; } - ArrayIndex& operator<<=(const ArrayIndex& x) { B::operator<<=(x.GetKeys()); return *this; } - friend void Swap(ArrayIndex& a, ArrayIndex& b) { a.B::Swap(b); } typedef typename B::ConstIterator ConstIterator; // GCC bug (?) diff --git a/uppsrc/TCore/template.h b/uppsrc/TCore/template.h index be10f4cb5..367a7806c 100644 --- a/uppsrc/TCore/template.h +++ b/uppsrc/TCore/template.h @@ -358,8 +358,7 @@ private: #define REF_DEBUG #endif//flagREFDEBUG -class RefMemStat -{ +class RefMemStat : DeepCopyOption { public: RefMemStat() {} RefMemStat(const RefMemStat& rms, int deep) : alloc_map(rms.alloc_map, 0) {} @@ -375,7 +374,6 @@ public: private: VectorMap > alloc_map; }; -template class DeepCopyOption; ////////////////////////////////////////////////////////////////////// // RefBase: base for refcounted objects.