|
||
class TSwap;
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 TSwap::Swap(TInt,TInt)const
.
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(TInt,TInt)const
Swaps two elements of an array.TSwap()
Default constructor.IMPORT_C virtual void Swap(TInt aLeft, TInt aRight) const;
Swaps two elements of an array.
This function is called by User::QuickSort(TInt,const TKey &,const TSwap &)
.
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(TAny *,TAny *,TInt)
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.
|
|
User::QuickSort(TInt,const TKey &,const TSwap &)
Quick sorts array elements.Mem::Swap(TAny *,TAny *,TInt)
Swaps a number of bytes of data between two specified locations.