TBufC Class Reference

#include <e32cmn.h>

class TBufC : public TBufCBase16

Inherits from

Public Member Functions
TBufC()
TBufC(const TText *)
TBufC(const TDesC &)
TPtr Des()
TBufC< S > &operator=(const TText *)
TBufC< S > &operator=(const TDesC &)
Inherited Enumerations
TDesC16:TPrefix
Inherited Functions
TBufCBase16::Copy(const TDesC16 &,TInt)
TBufCBase16::Copy(const TUint16 *,TInt)
TBufCBase16::DoDes(TInt)
TBufCBase16::TBufCBase16()
TBufCBase16::TBufCBase16(TInt)
TBufCBase16::TBufCBase16(const TDesC16 &,TInt)
TBufCBase16::TBufCBase16(const TUint16 *,TInt)
TBufCBase16::WPtr()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::FindCorruptSurrogate()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::Locate2(TChar)const
TDesC16::LocateF(TChar)const
TDesC16::LocateF2(TChar)const
TDesC16::LocateReverse(TChar)const
TDesC16::LocateReverse2(TChar)const
TDesC16::LocateReverseF(TChar)const
TDesC16::LocateReverseF2(TChar)const
TDesC16::Match(const TDesC16 &)const
TDesC16::Match2(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
TDesC16::operator[](TInt)const

Detailed Description

A build-independent non-modifiable buffer descriptor.

This is a descriptor class which provides a buffer of fixed length for containing and accessing TUint16 or TUint8 data, depending on the build.

The class intended for instantiation. The 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.

This class derives from TBufCBase16 for a Unicode, non-kernel build, but derives from TBufCBase8 for a non-Unicode build.

See also: TDesC TDesC8 TDesC16 TPtr TPtr8 TPtr16 TBufC8 TBufC16

Constructor & Destructor Documentation

TBufC ( )

TBufC()[inline]

Constructs an empty build independent 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: TBufC::operator=

TBufC ( const TText * )

TBufC(const TText *aString)[inline]

Constructs a build independent 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.

Parameters
aStringA pointer to a zero terminated string.
Panic Codes
USER8, if the length of the string, excluding the zero terminator, is greater than the value of the integer template parameter for the 16-bit build variant.
USER20, if the length of the string, excluding the zero terminator, is greater than the value of the integer template parameter for the 8-bit build variant.

TBufC ( const TDesC & )

TBufC(const TDesC &aDes)[inline]

Constructs a build-independent non-modifiable buffer descriptor from any existing build independent 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 for an 8 bit build variant or a USER 8 panic for a 16 bit (Unicode) build variant.

Parameters
aDesThe source build independent non-modifiable descriptor.
Panic Codes
USER8, if the length of the source descriptor is greater than the value of the integer template parameter for the 16-bit build variant.
USER20, if the length of the source descriptor is greater than the value of the integer template parameter for the 8-bit build variant.

Member Function Documentation

Des ( )

TPtr Des()[inline]

Creates and returns a build-independent modifiable pointer descriptor for the data represented by this build-independent 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
A build independent modifiable pointer descriptor representing the data in this build independent non-modifiable buffer descriptor.

operator= ( const TText * )

TBufC< S > &operator=(const TText *aString)[inline]

Copies data into this descriptor, replacing any existing data.

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

Parameters
aStringA pointer to a zero-terminated string.
Return Value
A reference to this descriptor.
Panic Codes
USER11, if the length of the string, excluding the zero terminator, is greater than the maximum length of this (target) descriptor for the 16-bit build variant.
USER23, if the length of the string, excluding the zero terminator, is greater than the maximum length of this (target) descriptor for the 8-bit build variant.

operator= ( const TDesC & )

TBufC< S > &operator=(const TDesC &aDes)[inline]

Copies data into this descriptor, replacing any existing data.

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

Parameters
aDesA build independent non-modifiable descriptor.
Return Value
A reference to this descriptor.
Panic Codes
USER11, if the length of the descriptor aDes is greater than the maximum length of this (target) descriptor for the 16-bit build variant.
USER23, if the length of the descriptor aDes is greater than the maximum length of this (target) descriptor for the 8-bit build variant.