Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <S32STD.H>

Class TSwizzle

class TSwizzle : public TSwizzleBase;

Description

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

by stream id, if the object is not in memory (the stream contains the external representation of that object).

by pointer, if the object is in memory.

The template class defines the type of object for which the swizzle is a representation. Full access to the represented object is available through the swizzle.

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

Members

Defined in TSwizzle:

Inherited from TSwizzleBase:

Inherited from TSwizzleCBase:


Construction and destruction


TSwizzle()

inline TSwizzle();

Description

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


TSwizzle(T *)

inline TSwizzle(T *aPtr);

Description

Constructs a swizzle for a class T type object, represented by a pointer.

Parameters

T *aPtr

A pointer to a class T type object.


TSwizzle(TStreamId)

inline TSwizzle(TStreamId anId);

Description

Constructs a swizzle for a class T type object, represented as a stream id.

Parameters

TStreamId anId

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

[Top]


Member functions


operator=(T *)

inline TSwizzle< T >& operator=(T *aPtr);

Description

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

Parameters

T *aPtr

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

Return value

TSwizzle< T > &

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


AsPtr()const

inline T* AsPtr() const;

Description

Returns a pointer to the object which this swizzle represents.

Note that the indirect component selector TSwizzle::operator->()const can be used to access members of the represented object.

Return value

T *

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


operator T *()const

inline operator T *() const;

Description

Return value


operator *()const

inline T& operator *() const;

Description

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

Return value

T &

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


operator->()const

inline T* operator->() const;

Description

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

Note, use the TSwizzle::AsPtr()const member function to return a pointer to the object itself.

Return value

T *

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


ExternalizeL(RWriteStream &)const

inline void ExternalizeL(RWriteStream &aStream) const;

Description

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

This function presupposes that:

a store map, i.e. an object of type CStoreMap, has been constructed

the id of the stream containing the external representation of the represented type T object has been bound to this swizzle and added to the store map.

the concrete stream referenced by aStream has been constructed, specifying the store map as an externaliser.

The presence of this function means that the standard templated operator<<(RWriteStream &,const T &) can be used.

Parameters

RWriteStream &aStream

Stream to which the stream id should be externalised.