.Core: restored MoveableAndDeepCopyOption Index modifier

*TCore: fixed DeepCopyOption modifier for RefMemStat

git-svn-id: svn://ultimatepp.org/upp/trunk@2253 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
rylek 2010-03-21 23:36:34 +00:00
parent c947520c91
commit b59f6d62d4
2 changed files with 2 additions and 8 deletions

View file

@ -191,7 +191,7 @@ protected:
};
template <class T, class HashFn = StdHash<T> >
class Index : Moveable< Index<T, HashFn > >,
class Index : MoveableAndDeepCopyOption< Index<T, HashFn > >,
public AIndex<T, Vector<T>, HashFn> {
typedef AIndex< T, Vector<T>, HashFn > B;
public:
@ -205,8 +205,6 @@ public:
Index& operator=(pick_ Vector<T>& 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<T>& 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 (?)

View file

@ -358,8 +358,7 @@ private:
#define REF_DEBUG
#endif//flagREFDEBUG
class RefMemStat
{
class RefMemStat : DeepCopyOption<RefMemStat> {
public:
RefMemStat() {}
RefMemStat(const RefMemStat& rms, int deep) : alloc_map(rms.alloc_map, 0) {}
@ -375,7 +374,6 @@ public:
private:
VectorMap<String, Index<int> > alloc_map;
};
template class DeepCopyOption<RefMemStat>;
//////////////////////////////////////////////////////////////////////
// RefBase: base for refcounted objects.