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 voidSwap(TInt, TInt)

Constructor & Destructor Documentation

TSwap()

IMPORT_CTSwap()

Default constructor.

The constructor has an empty implementation.

Member Functions Documentation

Swap(TInt, TInt)

IMPORT_C voidSwap(TIntaLeft,
TIntaRight
)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 aLeftThe index of an array element participating in the swap
TInt aRightThe index of an array element participating in the swap