.Core: Index/ArrayIndex minor <<= overloading adjustment

git-svn-id: svn://ultimatepp.org/upp/trunk@2239 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2010-03-17 21:08:46 +00:00
parent 771172a3f8
commit c3bebbf1d0

View file

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