Location:
e32base.h
Link against: euser.lib
TSwap
Supported from 5.0
Defines the basic behaviour for swapping two elements of an array.
The class is abstract. A derived class must be defined and implemented to use the functionality.
A derived class can define how to swap two elements of an array. In practice, this means providing an implementation for the virtual function Swap()
.
To support this, the derived class is also likely to need a pointer to the array itself and suitable constructors and/or other member functions to set such a pointer.
Defined in TSwap
:
Swap()
, TSwap()
virtual void Swap(TInt aLeft,TInt aRight) const;
Swaps two elements of an array.
This function is called by User::QuickSort()
.
The default implementation raises a USER 36 panic.
In general, the class must provide a way of translating the indexes representing the two elements into pointers to the elements themselves. The Mem::Swap()
utility function can then be used to swap the two elements. This implies that the derived class must contain a pointer to the array itself and have access to other information about the array, such as the length of elements.
By convention, the index value is relative to zero; i.e. a zero value refers to the first element in the array.
|