TStreamTransfer Class Reference

class TStreamTransfer

Stream transfer object.

Holds and maintains a value that represents how much data is to be transferred, or remains to be transferred, between streams.

Objects of this type are used by ReadL() and WriteL() functions of MStreamBuf.

MStreamBuf TStreamBuf TStreamMark TStreamExchange RShareBuf

Constructor & Destructor Documentation

TStreamTransfer()

TStreamTransfer()[inline]

Constructs a stream transfer object specifying that there is no explicit limit to the amount of data that can be transferred between streams.

The amount of data to be transferred is only limited by the streams themselves.

The arithmetical operators do not change the state of an unlimited stream transfer object.

TStreamTransfer(TInt)

TStreamTransfer(TIntaMaxLength)[inline]

Constructs a stream transfer object specifying a length value.

This value represents the maximum amount of data that can be transferred between streams.

Parameters

TInt aMaxLengthThe maximum length of data that can be transferred. In debug mode, the function raises a STORE-Stream 13 panic, if this value is negative.

TStreamTransfer(TUnlimited)

TStreamTransfer(TUnlimited)[inline]

Constructs a stream transfer object specifying that there is no explicit limit to the amount of data that can be transferred between streams.

The amount of data to be transferred is only limited by the streams themselves.

The arithmetical operators do not change the state of an unlimited stream transfer object.

Parameters

TUnlimited

Member Functions Documentation

Left()

TInt Left()const [inline]

Gets the stream transfer value.

__DbgChkNonNegative(TInt)

IMPORT_C void__DbgChkNonNegative(TIntaLength)[private, static]

Parameters

TInt aLength

operator-(TInt)

TStreamTransfer operator-(TIntaLength)const [inline]

Subtracts the specified value from the stream transfer value.

If this stream transfer object was originally constructed as an unlimited type, i.e. using the TStreamTransfer(TUnlimited) constructor, then this operator does not change the state of the object, and it remains an unlimited type.

Parameters

TInt aLengthThe length to be subtracted. In debug mode, the function raises a STORE-Stream 13 panic, if this value is negative.

operator-=(TInt)

TStreamTransfer &operator-=(TIntaLength)[inline]

Subtracts the specified value from the stream transfer value, updating this stream transfer object.

If this stream transfer object was originally constructed as an unlimited type, i.e. using the TStreamTransfer(TUnlimited) constructor, then this operator does not change the state of the object, and it remains an unlimited type.

If this stream transfer object was not an unlimited type, then, in debug mode, the function raises a STORE-Stream 13 panic, if the result of the calculation is negative.

Parameters

TInt aLengthThe length to be subtracted. In debug mode, the function raises a STORE-Stream 13 panic, if this value is negative.

operator==(TInt)

TBool operator==(TIntaLength)const [inline]

Tests whether the stream transfer value is equal to the specified value.

Parameters

TInt aLengthThe length to compared. In debug mode, the function raises a STORE-Stream 13 panic, if this value is negative.

operator>(TInt)

TBool operator>(TIntaLength)const [inline]

Tests whether the stream transfer value is greater than the specified value.

Parameters

TInt aLengthThe length to compared. In debug mode, the function raises a STORE-Stream 13 panic, if this value is negative.

operator[](TInt)

TInt operator[](TIntaMaxLength)const [inline]

Parameters

TInt aMaxLength

Member Enumerations Documentation

Enum TUnlimited

An enumerator type passed to a constructor of this class to indicate that there is no explicit limit to the amount of data that can be transferred between streams. The enumeration is not used.

Enumerators

EUnlimited

Member Data Documentation

TInt iVal

TInt iVal[private]