RBuf16 Class Reference

class RBuf16 : public TDes16

16 bit resizable buffer descriptor.

The class provides a buffer that contains, accesses and manipulates TUint16 data. The buffer itself is on the heap, and is managed by the class.

Internally, RBuf16 behaves in one of two ways:

  • as a TPtr16 descriptor type, where the buffer just contains data

  • as a pointer to a heap descriptor, an HBufC16* type, where the buffer contains both descriptor information and the data.

Note that the handling of the distinction is hidden from view.

An RBuf16 object can allocate its own buffer. Alternatively, it can take ownership of a pre-existing section of allocated memory, or it can take ownership of a pre-existing heap descriptor. It can also reallocate the buffer to resize it. Regardless of the way in which the buffer has been allocated, the RBuf16 object is responsible for freeing memory when the object itself is closed.

The class is intended for instantiation.

The class is derived from TDes16, which means that data can be both accessed and modified. The base classes provide the functions through which the data is accessed. In addition, an RBuf16 object can be passed to any function that is prototyped to take a TDes16 or a TDesC16 type.

TBuf16

TPtr16

HBufC16

TDesC16

TDes16

Inherits from

Public Member Functions
RBuf16()
RBuf16(HBufC16 *)
IMPORT_C voidAssign(const RBuf16 &)
IMPORT_C voidAssign(TUint16 *, TInt)
IMPORT_C voidAssign(TUint16 *, TInt, TInt)
IMPORT_C voidAssign(HBufC16 *)
IMPORT_C voidCleanupClosePushL()
IMPORT_C voidClose()
IMPORT_C TIntCreate(TInt)
IMPORT_C TIntCreate(const TDesC16 &)
IMPORT_C TIntCreate(const TDesC16 &, TInt)
IMPORT_C voidCreateL(TInt)
voidCreateL(RReadStream &, TInt)
IMPORT_C voidCreateL(const TDesC16 &)
IMPORT_C voidCreateL(const TDesC16 &, TInt)
IMPORT_C TIntCreateMax(TInt)
IMPORT_C voidCreateMaxL(TInt)
IMPORT_C TIntReAlloc(TInt)
IMPORT_C voidReAllocL(TInt)
IMPORT_C voidSwap(RBuf16 &)
RBuf16 &operator=(const TUint16 *)
RBuf16 &operator=(const TDesC16 &)
RBuf16 &operator=(const RBuf16 &)
Protected Member Functions
RBuf16(TInt, TInt, TInt)
RBuf16(const RBuf16 &)
Inherited Functions
TDes16::Append(TChar)
TDes16::Append(const TDesC16 &)
TDes16::Append(const TUint16 *,TInt)
TDes16::AppendFill(TChar,TInt)
TDes16::AppendFormat(TRefByValue< const TDesC16 >,...)
TDes16::AppendFormat(TRefByValue< const TDesC16 >,TDes16Overflow *,...)
TDes16::AppendFormatList(const TDesC16 &,VA_LIST,TDes16Overflow *)
TDes16::AppendJustify(const TDesC16 &,TInt,TAlign,TChar)
TDes16::AppendJustify(const TDesC16 &,TInt,TInt,TAlign,TChar)
TDes16::AppendJustify(const TUint16 *,TInt,TAlign,TChar)
TDes16::AppendJustify(const TUint16 *,TInt,TInt,TAlign,TChar)
TDes16::AppendNum(TInt64)
TDes16::AppendNum(TReal,const TRealFormat &)
TDes16::AppendNum(TUint64,TRadix)
TDes16::AppendNumFixedWidth(TUint,TRadix,TInt)
TDes16::AppendNumFixedWidthUC(TUint,TRadix,TInt)
TDes16::AppendNumUC(TUint64,TRadix)
TDes16::Capitalize()
TDes16::Collapse()
TDes16::Collate()
TDes16::Copy(const TDesC16 &)
TDes16::Copy(const TDesC8 &)
TDes16::Copy(const TUint16 *)
TDes16::Copy(const TUint16 *,TInt)
TDes16::CopyC(const TDesC16 &)
TDes16::CopyCP(const TDesC16 &)
TDes16::CopyF(const TDesC16 &)
TDes16::CopyLC(const TDesC16 &)
TDes16::CopyUC(const TDesC16 &)
TDes16::Delete(TInt,TInt)
TDes16::DoAppendNum(TUint64,TRadix,TUint,TInt)
TDes16::DoPadAppendNum(TInt,TInt,const TUint8 *)
TDes16::Fill(TChar)
TDes16::Fill(TChar,TInt)
TDes16::FillZ()
TDes16::FillZ(TInt)
TDes16::Fold()
TDes16::Format(TRefByValue< const TDesC16 >,...)
TDes16::FormatList(const TDesC16 &,VA_LIST)
TDes16::Insert(TInt,const TDesC16 &)
TDes16::Justify(const TDesC16 &,TInt,TAlign,TChar)
TDes16::LeftTPtr(TInt)const
TDes16::LowerCase()
TDes16::MaxLength()const
TDes16::MaxSize()const
TDes16::MidTPtr(TInt)const
TDes16::MidTPtr(TInt,TInt)const
TDes16::Num(TInt64)
TDes16::Num(TReal,const TRealFormat &)
TDes16::Num(TUint64,TRadix)
TDes16::NumFixedWidth(TUint,TRadix,TInt)
TDes16::NumFixedWidthUC(TUint,TRadix,TInt)
TDes16::NumUC(TUint64,TRadix)
TDes16::PtrZ()
TDes16::Repeat(const TDesC16 &)
TDes16::Repeat(const TUint16 *,TInt)
TDes16::Replace(TInt,TInt,const TDesC16 &)
TDes16::RightTPtr(TInt)const
TDes16::SetLength(TInt)
TDes16::SetMax()
TDes16::Swap(TDes16 &)
TDes16::TDes16()
TDes16::TDes16(TInt,TInt,TInt)
TDes16::Trim()
TDes16::TrimAll()
TDes16::TrimLeft()
TDes16::TrimRight()
TDes16::UpperCase()
TDes16::WPtr()const
TDes16::Zero()
TDes16::ZeroTerminate()
TDes16::operator+=(const TDesC16 &)
TDes16::operator=(const TDes16 &)
TDes16::operator[](TInt)
TDes16::operator[](TInt)const
TDesC16::Alloc()const
TDesC16::AllocL()const
TDesC16::AllocLC()const
TDesC16::AtC(TInt)const
TDesC16::Compare(const TDesC16 &)const
TDesC16::CompareC(const TDesC16 &)const
TDesC16::CompareC(const TDesC16 &,TInt,const TCollationMethod *)const
TDesC16::CompareF(const TDesC16 &)const
TDesC16::DoSetLength(TInt)
TDesC16::Find(const TDesC16 &)const
TDesC16::Find(const TUint16 *,TInt)const
TDesC16::FindC(const TDesC16 &)const
TDesC16::FindC(const TDesC16 &,TInt &,const TCollationMethod &,TInt)const
TDesC16::FindC(const TUint16 *,TInt)const
TDesC16::FindC(const TUint16 *,TInt,TInt)const
TDesC16::FindF(const TDesC16 &)const
TDesC16::FindF(const TUint16 *,TInt)const
TDesC16::GetCollationKeysL(TInt,const TCollationMethod *)const
TDesC16::GetFoldedDecomposedFormL()const
TDesC16::GetNormalizedDecomposedFormL()const
TDesC16::HasPrefixC(const TDesC16 &,TInt,const TCollationMethod *)const
TDesC16::Left(TInt)const
TDesC16::Length()const
TDesC16::Locate(TChar)const
TDesC16::LocateF(TChar)const
TDesC16::LocateReverse(TChar)const
TDesC16::LocateReverseF(TChar)const
TDesC16::Match(const TDesC16 &)const
TDesC16::MatchC(const TDesC16 &)const
TDesC16::MatchC(const TDesC16 &,TInt,TInt,TInt,TInt,const TCollationMethod *)const
TDesC16::MatchC(const TDesC16 &,const TCollationMethod *,TInt,TInt,TInt,TInt)const
TDesC16::MatchF(const TDesC16 &)const
TDesC16::Mid(TInt)const
TDesC16::Mid(TInt,TInt)const
TDesC16::Ptr()const
TDesC16::Right(TInt)const
TDesC16::Size()const
TDesC16::TDesC16()
TDesC16::TDesC16(TInt,TInt)
TDesC16::Type()const
TDesC16::operator!=(const TDesC16 &)const
TDesC16::operator<(const TDesC16 &)const
TDesC16::operator<=(const TDesC16 &)const
TDesC16::operator==(const TDesC16 &)const
TDesC16::operator>(const TDesC16 &)const
TDesC16::operator>=(const TDesC16 &)const
Inherited Enumerations
TDesC16:TPrefix
Public Attributes
HBufC16 *iEBufCPtrType
TUint16 *iEPtrType
Protected Attributes
union RBuf16::@9@10
__DECLARE_TEST
Inherited Attributes
TDes16::iMaxLength

Constructor & Destructor Documentation

RBuf16()

IMPORT_CRBuf16()

RBuf16(HBufC16 *)

IMPORT_CRBuf16(HBufC16 *aHBuf)[explicit]

Parameters

HBufC16 * aHBuf

RBuf16(TInt, TInt, TInt)

IMPORT_CRBuf16(TIntaType,
TIntaLength,
TIntaMaxLength
)[protected]

Parameters

TInt aType
TInt aLength
TInt aMaxLength

RBuf16(const RBuf16 &)

RBuf16(const RBuf16 &)[protected]

Parameters

const RBuf16 &

Member Functions Documentation

Assign(const RBuf16 &)

IMPORT_C voidAssign(const RBuf16 &aRBuf)

Parameters

const RBuf16 & aRBuf

Assign(TUint16 *, TInt)

IMPORT_C voidAssign(TUint16 *aHeapCell,
TIntaMaxLength
)

Parameters

TUint16 * aHeapCell
TInt aMaxLength

Assign(TUint16 *, TInt, TInt)

IMPORT_C voidAssign(TUint16 *aHeapCell,
TIntaLength,
TIntaMaxLength
)

Parameters

TUint16 * aHeapCell
TInt aLength
TInt aMaxLength

Assign(HBufC16 *)

IMPORT_C voidAssign(HBufC16 *aHBuf)

Parameters

HBufC16 * aHBuf

CleanupClosePushL()

IMPORT_C voidCleanupClosePushL()

Close()

IMPORT_C voidClose()

Create(TInt)

IMPORT_C TIntCreate(TIntaMaxLength)

Parameters

TInt aMaxLength

Create(const TDesC16 &)

IMPORT_C TIntCreate(const TDesC16 &aDes)

Parameters

const TDesC16 & aDes

Create(const TDesC16 &, TInt)

IMPORT_C TIntCreate(const TDesC16 &aDes,
TIntaMaxLength
)

Parameters

const TDesC16 & aDes
TInt aMaxLength

CreateL(TInt)

IMPORT_C voidCreateL(TIntaMaxLength)

Parameters

TInt aMaxLength

CreateL(RReadStream &, TInt)

voidCreateL(RReadStream &aStream,
TIntaMaxLength
)[inline]

Creates a 16-bit resizable buffer descriptor that has been initialised with data from the specified read stream; leaves on failure.

Data is assigned to the new descriptor from the specified stream. This variant assumes that the stream contains the length of the data followed by the data itself.

The function is implemented by calling the HBufC16::NewL(RReadStream&,TInt) variant and then assigning the resulting heap descriptor using the RBuf16::Assign(HBufC16*) variant. The comments that describe the HBufC16::NewL() variant also apply to this RBuf16::CreateL() function.

The function may leave with one of the system-wide error codes, specifically KErrOverflow, if the length of the data as read from the stream is greater than the upper limit as specified by the aMaxLength parameter.

Parameters

RReadStream & aStreamThe stream from which the data length and the data to be assigned to the new descriptor, are taken.
TInt aMaxLengthThe upper limit on the length of data that the descriptor is to represent. The value of this parameter must be non-negative otherwise the underlying function will panic.

CreateL(const TDesC16 &)

IMPORT_C voidCreateL(const TDesC16 &aDes)

Parameters

const TDesC16 & aDes

CreateL(const TDesC16 &, TInt)

IMPORT_C voidCreateL(const TDesC16 &aDes,
TIntaMaxLength
)

Parameters

const TDesC16 & aDes
TInt aMaxLength

CreateMax(TInt)

IMPORT_C TIntCreateMax(TIntaMaxLength)

Parameters

TInt aMaxLength

CreateMaxL(TInt)

IMPORT_C voidCreateMaxL(TIntaMaxLength)

Parameters

TInt aMaxLength

ReAlloc(TInt)

IMPORT_C TIntReAlloc(TIntaMaxLength)

Parameters

TInt aMaxLength

ReAllocL(TInt)

IMPORT_C voidReAllocL(TIntaMaxLength)

Parameters

TInt aMaxLength

Swap(RBuf16 &)

IMPORT_C voidSwap(RBuf16 &aRBuf)

Parameters

RBuf16 & aRBuf

operator=(const TUint16 *)

RBuf16 &operator=(const TUint16 *aString)[inline]

Copies data into this descriptor replacing any existing data.

The length of this descriptor is set to reflect the new data.

A reference to this, the target descriptor.

panic

USER 11, if the length of the string, excluding the zero terminator, is greater than the maximum length of this (target) descriptor.

Parameters

const TUint16 * aStringA pointer to a zero-terminated string.

operator=(const TDesC16 &)

RBuf16 &operator=(const TDesC16 &aDes)[inline]

Copies data into this descriptor replacing any existing data.

The length of this descriptor is set to reflect the new data.

A reference to this, the target descriptor.

panic

USER 11, if the length of the descriptor aDes is greater than the maximum length of this (target) descriptor.

Parameters

const TDesC16 & aDesA 16-bit non-modifiable descriptor.

operator=(const RBuf16 &)

RBuf16 &operator=(const RBuf16 &aDes)[inline]

Copies data into this descriptor replacing any existing data.

The length of this descriptor is set to reflect the new data.

A reference to this, the target descriptor.

panic

USER 11, if the length of the descriptor aDes is greater than the maximum length of this (target) descriptor.

Parameters

const RBuf16 & aDesA 16-bit buffer descriptor.

Member Data Documentation

union RBuf16::@9 @10

union RBuf16::@9@10[protected]

__DECLARE_TEST

__DECLARE_TEST[protected]

HBufC16 * iEBufCPtrType

HBufC16 *iEBufCPtrType

TUint16 * iEPtrType

TUint16 *iEPtrType