From c3bebbf1d01a4fe5edeb719a021a87ff0bcb6087 Mon Sep 17 00:00:00 2001 From: cxl Date: Wed, 17 Mar 2010 21:08:46 +0000 Subject: [PATCH] .Core: Index/ArrayIndex minor <<= overloading adjustment git-svn-id: svn://ultimatepp.org/upp/trunk@2239 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Core/Index.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/uppsrc/Core/Index.h b/uppsrc/Core/Index.h index b77a83697..a2c31728b 100644 --- a/uppsrc/Core/Index.h +++ b/uppsrc/Core/Index.h @@ -191,7 +191,7 @@ protected: }; template > -class Index : MoveableAndDeepCopyOption< Index >, +class Index : Moveable< Index >, public AIndex, HashFn> { typedef AIndex< T, Vector, HashFn > B; public: @@ -205,6 +205,8 @@ 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 (?) @@ -234,6 +236,8 @@ 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 (?)