Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Location: s32std.h
Link against: estor.lib

Class TSwizzleC

TSwizzleC<class T>

Support

Supported from 5.0

Description

Maintains a dual representation for a constant object. The representation is:

The template class defines the type of object for which the swizzle is a representation. Access to the to the represented object is available through the swizzle, but is limited. The represented object cannot be changed.

Maintaining a dual representation for an object allows the loading of objects into memory from a store to be deferred; this is particularly important in complex applications.

Derivation

TSwizzleCMaintains a dual representation for a constant object
TSwizzleCBaseBase class for swizzles

Defined in TSwizzleC:
AsPtr(), ExternalizeL(), TSwizzleC(), operator T*(), operator*(), operator->(), operator=()

Inherited from TSwizzleCBase:
AsId(), InternalizeL(), IsId(), IsPtr(), operator!=(), operator==()


Construction and destruction


TSwizzleC()

TSwizzleC();

Description

Constructs an uninitialised swizzle. It is necessary because there are also non-default constructors in this class.


TSwizzleC()

TSwizzleC(const T* aPtr);

Description

Constructs a swizzle for a class T type object and represents the object by pointer.

Parameters

const T* aPtr

A pointer to a class T type object.


TSwizzleC()

TSwizzleC(TStreamId anId);

Description

Constructs a swizzle for a class T type object and represents the object as a stream id.

Parameters

TStreamId anId

The stream id of a stream containing the external representation of an object of type class T.


TSwizzleC()

TSwizzleC(TSwizzle<T> aSwizzle);

Description

Constructs a swizzle for a class T type object that is currently represented by another swizzle.

The representation of the class T type object is the same as its representation by the specified swizzle, i.e. if the specified swizzle represents the object as a pointer, then this newly constructed swizzle also represents the object as a pointer.

Parameters

TSwizzle<T> aSwizzle

The swizzle whose representation of the class T type object is to be copied to this swizzle.

[Top]


Stream persistence


ExternalizeL()

void ExternalizeL(RWriteStream& aStream) const;

Description

Externalises the stream id of the stream associated with this swizzle.

This function presupposes that:

The presence of this function means that the standard templated operator<<() can be used.

Parameters

RWriteStream& aStream

Stream to which the stream id should be externalised

See also:

[Top]


Get pointer to represented object


AsPtr()

const T* AsPtr() const;

Description

Returns a constant pointer to the object which this swizzle represents.

Note:

Return value

const T*

A const pointer to the class T type object represented by this swizzle.

[Top]


Operators


operator=()

TSwizzleC<T>& operator=(const T* aPtr);

Description

Sets this swizzle to represent the in-memory type T object, pointed to by the specified T* pointer.

Parameters

const T* aPtr

A pointer to an object of type T which the swizzle is to represent.

Return value

TSwizzleC<T>&

A reference to this swizzle representing the object of type T.

See also:


operator->()

const T* operator->() const;

Description

Gives access to members of the type T object which this swizzle represents.

Note:

Return value

const T*

A const pointer to the T type object; not explicitly accessible.

See also:


operator T*()

operator const T*() const;

Description

Converts the swizzle to a const T* type.

Typically, the compiler inserts a call to this operator when a TSwizzleC<class T> is passed as a parameter to a function or operation which requires a const pointer as a formal argument type.

See also:


operator*()

const T& operator*() const;

Description

Returns a const reference to the type T object which this swizzle represents.

Return value

T&

A const reference to the type T object represented by this swizzle.

See also: