diff --git a/bazaar/Tree/Tree.h b/bazaar/Tree/Tree.h index 5ca901616..575956183 100644 --- a/bazaar/Tree/Tree.h +++ b/bazaar/Tree/Tree.h @@ -6,7 +6,7 @@ using namespace Upp; template class Tree - : protected Array + : protected Array, Moveable > { protected: typedef Array B; @@ -63,6 +63,10 @@ public: T *PopDetach() { T * t = B::PopDetach(); Unlink(*t); return t; } + using B::Begin; + using B::End; + using B::GetIter; + void Swap(Tree& b) { B::Swap(b); for(int i = 0; i < B::GetCount(); i++) Link(B::operator[](i)); for(int i = 0; i < b.GetCount(); i++) b.Link(b[i]); } Tree& operator<<(const T& x) { Add(x); return *this; }