TSwap Class Reference

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 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.

Public Member Functions
TSwap ()
IMPORT_C void Swap ( TInt , TInt )

Constructor & Destructor Documentation

TSwap()

IMPORT_C TSwap ( )

Default constructor.

The constructor has an empty implementation.

Member Functions Documentation

Swap(TInt, TInt)

IMPORT_C void Swap ( TInt aLeft,
TInt aRight
) const [virtual]

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.

panic
USER 36, if no replacement function has been provided by a derived class.
User::QuickSort Mem::Swap

Parameters

TInt aLeft The index of an array element participating in the swap
TInt aRight The index of an array element participating in the swap