Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

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



Location: e32des8.h
Link against: euser.lib

Class TBufC8

TBufC8<TInt>

Support

Supported from 5.0

Description

8-bit non-modifiable buffer descriptor.

This is a descriptor class which provides a buffer of fixed length for containing and accessing TUint8 data.

The class intended for instantiation. The 8 bit data that the descriptor represents is part of the descriptor object itself.

The class is templated, based on an integer value which defines the size of the descriptor's data area.

The data is intended to be accessed, but not modified; however, it can be completely replaced using the assignment operators of this class. The base class provides the functions through which the data is accessed.

Derivation

TBufC88-bit non-modifiable buffer descriptor
TBufCBase8Base class used in the derivation of TBufC8 and HBufC8
TDesC8Abstract base class for 8 bit non-modifiable descriptors

Defined in TBufC8:
Des(), TBufC8(), operator=

Inherited from TDesC8:
Alloc(), AllocL(), AllocLC(), Compare(), CompareC(), CompareF(), Find(), FindC(), FindF(), Left(), Length(), Locate(), LocateF(), LocateReverse(), LocateReverseF(), Match(), MatchC(), MatchF(), Mid(), Ptr(), Right(), Size(), operator!=(), operator<(), operator<=(), operator==(), operator>(), operator>=(), operator[]()

See also:


Construction


TBufC8()

TBufC8();

Description

Constructs an empty 8 bit non-modifiable buffer descriptor. It contains no data.

The integer template parameter determines the size of the data area which is created as part of the buffer descriptor object.

Data can, subsequently, be assigned into this buffer descriptor using the assignment operators.

See also:


TBufC8()

TBufC8(const TBufC8<S>& aLcb);

Description

Constructs the 8 bit non-modifiable buffer descriptor from an existing 8 bit non-modifiable buffer descriptor which has the same template value.

The integer template parameter of this buffer descriptor determines the size of the data area which is created as part of this object.

Data is copied from the source buffer descriptor into this buffer descriptor and the length of this buffer descriptor is set to the length of the source.

Parameters

const TBufC8<S>& aLcb

The source 8 bit non-modifiable buffer descriptor with the same template length as this descriptor.


TBufC8()

TBufC8(const TDesC8& aDes);

Description

Constructs the 8 bit non-modifiable buffer descriptor from any existing descriptor.

The integer template parameter determines the size of the data area which is created as part of this object.

Data is copied from the source descriptor into this buffer descriptor and the length of this buffer descriptor is set to the length of the source descriptor.

The length of the source descriptor must not be greater than the value of the integer template parameter, otherwise the constructor raises a USER 20 panic.

Parameters

const TDesC8& aDes

The source 8 bit non-modifiable descriptor.


TBufC8()

TBufC8(const TUint8* aString);

Description

Constructs the 8 bit non-modifiable buffer descriptor from a zero terminated string.

The integer template parameter determines the size of the data area which is created as part of this object.

The string, excluding the zero terminator, is copied into this buffer descriptor’s data area. The length of this buffer descriptor is set to the length of the string, excluding the zero terminator.

The length of the string, excluding the zero terminator, must not be greater than the value of the integer template parameter, otherwise the constructor raises a USER 20 panic

Parameters

const TUint8* aString

A pointer to a zero terminated string.

[Top]


Copying data, replacing existing data


operator=

TBufC8<S> operator=(const TBufC8<S>& aLcb);
TBufC8<S> operator=(const TDesC8& aDes);
TBufC8<S> operator=(const TUint8* aString);

Description

Copies data into this 8 bit non-modifiable buffer descriptor replacing any existing data. The length of this descriptor is set to reflect the new data.

Parameters

const TBufC8<S>& aLcb

The source 8 bit non-modifiable buffer descriptor with the same template value.

const TDesC8& aDes

An 8 bit non-modifiable descriptor. The length of the data cannot be greater than the maximum length of the target descriptor otherwise the function raises a USER 23 panic.

const TUint8* aString

A pointer to a zero-terminated string. The length of the string, excluding the zero terminator, must not be greater than the maximum length of the target descriptor, otherwise the function raises a USER 23 panic.

Return value

TBufC8&

A reference to this 8 bit non-modifiable buffer descriptor.

[Top]


Create a modifiable pointer descriptor for the data


Des()

TPtr8 Des();

Description

Creates and returns an 8 bit modifiable pointer descriptor for the data represented by this 8 bit non-modifiable buffer descriptor.

The content of a non-modifiable buffer descriptor normally cannot be altered, other than by complete replacement of the data. Creating a modifiable pointer descriptor provides a way of changing the data.

The modifiable pointer descriptor is set to point to this non-modifiable buffer descriptor's data.

The length of the modifiable pointer descriptor is set to the length of this non-modifiable buffer descriptor.

The maximum length of the modifiable pointer descriptor is set to the value of the integer template parameter.

When data is modified through this new pointer descriptor, the lengths of both it and this constant buffer descriptor are changed.

Return value

TPtr8

An 8 bit modifiable pointer descriptor representing the data in this 8 bit non-modifiable buffer descriptor.