Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <e32std.h>
Link against: euser.lib

Class TSwap

class TSwap;

Description

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.

Members

Defined in TSwap:


Construction and destruction


TSwap()

IMPORT_C TSwap();

Description

Default constructor.

The constructor has an empty implementation.

[Top]


Member functions


Swap(TInt,TInt)const

IMPORT_C virtual void Swap(TInt aLeft, TInt aRight) const;

Description

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.

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

Panic codes

USER

36, if no replacement function has been provided by a derived class.

See also: