Location:
e32des16.h
Link against: euser.lib
TDes16
Supported from 5.0
Modifiable 16 bit descriptor; abstract class.
The class encapsulates the data member containing the maximum length of data represented by a 16 bit descriptor. It also provides member functions through which the data can be modified.
The class adds to the behaviour provided by the base class.
This class cannot be instantiated as it is intended to form part of a class hierarchy; it provides a well defined part of descriptor behaviour. It can, however, be passed as an argument type for functions which need to both modify and access descriptor data.
|
Defined in TDes16
:
Append()
, AppendFill()
, AppendFormat()
, AppendFormatList()
, AppendJustify()
, AppendNum()
, AppendNumFixedWidth()
, AppendNumFixedWidthUC()
, AppendNumUC()
, Capitalize()
, Collate()
, Copy()
, CopyC()
, CopyCP()
, CopyF()
, CopyLC()
, CopyUC()
, Delete()
, Fill()
, FillZ()
, Fold()
, Format()
, FormatList()
, Insert()
, Justify()
, LowerCase()
, MaxLength()
, MaxSize()
, Num()
, NumFixedWidth()
, NumFixedWidthUC()
, NumUC()
, PtrZ()
, Repeat()
, Replace()
, SetLength()
, SetMax()
, Swap()
, Trim()
, TrimAll()
, TrimLeft()
, TrimRight()
, UpperCase()
, Zero()
, ZeroTerminate()
, operator+=()
, operator=
, operator[]()
Inherited from TDesC16
:
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>=()
TInt MaxLength() const;
Returns the maximum length of the descriptor. This is the upper limit for the number of 16 bit values or data items that the descriptor can represent.
|
TInt MaxSize() const;
Returns the maximum size of the descriptor. This is the upper limit for the number of bytes which the data represented by the descriptor can occupy.
|
void SetLength(TInt aLength);
Sets the length of the data represented by the descriptor to the specified value.
|
const TUint16& operator[](TInt anIndex) const;
TUint16& operator[](TInt anIndex);
Returns a reference to a single data item within this descriptor's data. The compiler chooses the appropriate variant.
|
|
void Copy(const TDesC8& aDes);
void Copy(const TDesC16& aDes);
void Copy(const TUint16* aBuf,TInt aLength);
void Copy(const TUint16* aString);
Copies data into this descriptor replacing any existing data. The length of this descriptor is set to reflect the new data.
|
TDes16& operator=(const TDesC16& aDes);
TDes16& operator=(const TDes16& aDes);
TDes16& operator=(const TUint16* aString);
Copies data into this descriptor replacing any existing data. The length of this descriptor is set to reflect the new data.
|
|
void CopyC(const TDesC16& aDes);
Copies and collates data from the specified descriptor into this descriptor replacing any existing data. The length of this descriptor is set to reflect the new data.
|
void CopyF(const TDesC16& aDes);
Copies and folds data from the specified descriptor into this descriptor replacing any existing data. The length of this descriptor is set to reflect the new data.
|
void CopyCP(const TDesC16& aDes);
Copies text from the specified descriptor and capitalises it before putting it into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
Capitalisation is implemented as appropriate to the current locale.
|
void CopyLC(const TDesC16& aDes);
Copies text from the specified descriptor and converts it to lower case before putting it into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
Conversion to lower case is implemented as appropriate to the current locale.
|
void CopyUC(const TDesC16& aDes);
Copies text from the specified descriptor and converts it to upper case before putting it into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
Conversion to upper case is implemented as appropriate to the current locale.
|
void Repeat(const TUint16* aBuf,TInt aLength);
void Repeat(const TDesC16& aDes);
Copies data with repetition into this descriptor replacing any existing data.
Copying proceeds until this descriptor is filled up to its current length. If it cannot contain a whole number of copies of the source data, then the last copy is truncated.
|
void Justify(const TDesC16& aDes,TInt aWidth,TAlign anAlignment,TChar aFill);
Copies data into this descriptor and justifies it, replacing any existing data. The length of this descriptor is set to reflect the new data.
The target area is considered to be an area of specified width positioned at the beginning of this descriptor's data area. Source data is copied into, and aligned within, this target area according to the specified alignment instruction.
If the length of the target area is larger than the length of the source, then spare space within the target area is padded with the fill character.
The resulting length of this descriptor cannot be greater than its maximum length otherwise the function raises a USER 11 panic.
|
void Num(TInt aVal);
Converts the specified signed integer into a decimal character representation and copies the conversion into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
If the integer is negative, the character representation is prefixed by a minus sign.
|
void Num(TUint aVal,TRadix aRadix=EDecimal);
Converts the specified unsigned integer into a character representation based on the specified number system and copies the conversion into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
When a hexadecimal conversion is specified, hexadecimal characters are in lower case.
|
void NumUC(TUint aVal,TRadix aRadix=EDecimal);
Converts the specified unsigned integer into a character representation based on the specified number system and copies the conversion into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
When a hexadecimal conversion is specified, hexadecimal characters are in upper case.
|
void NumFixedWidth(TUint aVal,TRadix aRadix,TInt aWidth);
Converts the specified unsigned integer into a fixed width character representation based on the specified number system and copies the conversion into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
The function generates the exact number of specified characters, either padding to the left with character zeroes or discarding low order characters as necessary.
When a hexadecimal conversion is specified, hexadecimal characters are in lower case.
This function is equivalent to using Format()
with
parameters which specify:
a fixed length target field
padding with zero characters
for example "%08x".When this is the case, always use
NumFixedWidth() in preference to Format()
as it is more
efficient.
|
void NumFixedWidthUC(TUint aVal,TRadix aRadix,TInt aWidth);
Converts the specified unsigned integer into a fixed width character representation based on the specified number system and copies the conversion into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
The function generates the exact number of specified characters, either padding to the left with character zeroes or discarding low order characters as necessary.
When a hexadecimal conversion is specified, hexadecimal characters are in upper case.
This function is equivalent to using Format()
with
parameters which specify:
a fixed length target field
padding with zero characters
for example "%08x". When this is the case, always use
NumFixedWidthUC()
in preference to Format()
as it is
more efficient.
|
void Num(TInt64 aVal);
Converts the 64 bit signed integer into a decimal character representation and copies the conversion into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
If the integer is negative, the character representation is prefixed by a minus sign.
|
void Num(TInt64 aVal,TRadix aRadix);
Converts the specified 64 bit unsigned integer into a character representation based on the specified number system and copies the conversion into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
When a hexadecimal conversion is specified, hexadecimal characters are in lower case.
|
void NumUC(TInt64 aVal,TRadix aRadix=EDecimal);
Converts the specified 64 bit unsigned integer into a character representation based on the specified number system and copies the conversion into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
When a hexadecimal conversion is specified, hexadecimal characters are in upper case.
|
TInt Num(TReal aVal,const TRealFormat& aFormat);
Converts the specified floating point number into a character representation and copies the conversion into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
The character representation of the real number is dictated by the specified format.
|
|
|
void Format(TRefByValue<const TDesC16> aFmt,...);
Formats and copies text into this descriptor, replacing any existing data. The length of this descriptor is set to reflect the new data.
(Note that formatting of single numerical values can be achieved more conveniently using the Num() and NumUC() member functions of this class.)
The function takes a format string and a variable number of arguments. The format string contains literal text, embedded with directives, for converting the trailing list of arguments into text.
The embedded directives are character sequences prefixed with the '%' character. The literal text is simply copied into this descriptor unaltered while the '%' directives are used to convert successive arguments from the trailing list.
The resulting stream of literal text and converted arguments is copied into this descriptor.
The syntax of the embedded directives follows one of four general patterns. If any directive has incorrect syntax, then the function raises a USER 24 panic.
If the resulting length of text in this descriptor exceeds its maximum length, then the function raises a USER 11 panic.
|
void FormatList(const TDesC16& aFmt,VA_LIST aList);
Formats and copies text into this descriptor, replacing any existing data.
The length of this descriptor is set to reflect the new data.
The behaviour of this function is the same as
Format()
. In practice, it is better and easier to use
Format()
, passing a variable number of arguments as required by
the format string.
|
void Insert(TInt aPos,const TDesC16& aDes);
Inserts data into this descriptor. The length of this descriptor is changed to reflect the extra data.
The resulting length of this descriptor cannot be greater than its maximum length otherwise the function raises a USER 11 panic.
|
void Replace(TInt aPos,TInt aLength,const TDesC16& aDes);
Replaces data in this descriptor. The specified length can be different to the length of the replacement data. The length of this descriptor changes to reflect the change of data.
The resulting length of this descriptor cannot be greater than its maximum length otherwise the function raises a USER 11 panic.
|
void Swap(TDes16& aDes);
Swaps the data represented by this descriptor with the data represented by the specified descriptor. The lengths of both descriptors are also swapped to reflect the change.
Each descriptor must be capable of accommodating the contents of the other descriptor. If the maximum length of either descriptor is smaller than the length of the other descriptor, then the function raises a USER 11 panic.
|
void Delete(TInt aPos,TInt aLength);
Deletes data from this descriptor. The length of this descriptor is changed to reflect the loss of data.
|
void TrimLeft();
Deletes leading space characters from the descriptor’s data. All space characters up to, but not including the first non-space character, are deleted.
The length of the descriptor is reduced to reflect the loss of the space characters.
void TrimRight();
Deletes trailing space characters from the descriptor's data. The process starts on the right hand side of the descriptor’s data and proceeds to the left. All space characters up to, but not including the first non-space character, are deleted.
The length of the descriptor is reduced to reflect the loss of the space characters.
void Trim();
Deletes leading and trailing space characters from the descriptor’s data.
The length of the descriptor is reduced to reflect the loss of the space characters.
void TrimAll();
Deletes leading and trailing space characters from the descriptor’s data and replaces each contiguous set of space characters within the data by one space character.
The length of the descriptor is reduced to reflect the loss of the space characters.
void Append(TChar aChar);
void Append(const TDesC16& aDes);
void Append(const TUint16* aBuf,TInt aLength);
Appends data onto the end of this descriptor's data.
The length of this descriptor is incremented to reflect the new content; the new length cannot be greater than this descriptor's maximum length otherwise the function raises a USER 11 panic
|
void AppendFill(TChar aChar,TInt aLength);
Appends and fills this descriptor with the specified character. The function assumes that the character is non-Unicode and that it can be represented by a single byte.
The length of this descriptor is incremented by the specified length; the new length cannot be greater than this descriptor's maximum length otherwise the function raises a USER 11 panic
|
void AppendJustify(const TDesC16& Des,TInt aWidth,TAlign anAlignment,TChar aFill);
Appends data onto the end of this descriptor's data and justifies it.
The source of the appended data is an existing descriptor.
The target area is considered to be an area of specified width, immediately following this descriptor's existing data. Source data is copied into, and aligned within, this target area according to the specified alignment instruction.
If the length of the target area is larger than the length of the source, then spare space within the target area is padded with the fill character.
The resulting length of this descriptor cannot be greater than its maximum length otherwise the function raises a USER 11 panic.
|
void AppendJustify(const TDesC16& Des,TInt aLength,TInt aWidth,TAlign anAlignment,TChar aFill);
Appends data onto the end of this descriptor's data and justifies it.
The source of the appended data is an existing descriptor.
The target area is considered to be an area of specified width, immediately following this descriptor's existing data. Source data is copied into, and aligned within, this target area according to the specified alignment instruction.
If the length of the target area is larger than the length of the source, then spare space within the target area is padded with the fill character.
The resulting length of this descriptor cannot be greater than its maximum length otherwise the function raises a USER 11 panic.
|
void AppendJustify(const TUint16* aString,TInt aWidth,TAlign anAlignment,TChar aFill);
Appends a zero terminated string onto the end of this descriptor's data and justifies it. The zero terminator is not copied.
The target area is considered to be an area of specified width, immediately following this descriptor's existing data. Source data is copied into, and aligned within, this target area according to the specified alignment instruction.
If the length of the target area is larger than the length of the source, then spare space within the target area is padded with the fill character.
The resulting length of this descriptor cannot be greater than its maximum length otherwise the function raises a USER 11 panic.
|
void AppendJustify(const TUint16* aString,TInt aLength,TInt aWidth,TAlign anAlignment,TChar aFill);
Appends data onto the end of this descriptor's data and justifies it.
The source of the appended data is a memory location.
The target area is considered to be an area of specified width, immediately following this descriptor's existing data. Source data is copied into, and aligned within, this target area according to the specified alignment instruction.
If the length of the target area is larger than the length of the source, then spare space within the target area is padded with the fill character.
The resulting length of this descriptor cannot be greater than its maximum length otherwise the function raises a USER 11 panic.
|
TDes16& operator+=(const TDesC16& aDes);
Appends data onto the end of this descriptor's data and returns a reference to this descriptor.
The length of this descriptor is incremented to reflect the new content; the new length cannot be greater than this descriptor's maximum length otherwise the function raises a USER 11 panic
|
|
void AppendNum(TInt aVal);
Converts the specified signed integer into a decimal character representation and appends the conversion onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content
If the integer is negative, the character representation is prefixed by a minus sign.
|
void AppendNum(TUint aVal,TRadix aRadix=EDecimal);
Converts the specified unsigned integer into a character representation based on the specified number system and appends the conversion onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content
When a hexadecimal conversion is specified, hexadecimal characters are in lower case.
|
void AppendNumUC(TUint aVal,TRadix aRadix=EDecimal);
Converts the specified unsigned integer into a character representation based on the specified number system and appends the conversion onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content
When a hexadecimal conversion is specified, hexadecimal characters are in upper case.
|
void AppendNumFixedWidth(TUint aVal,TRadix aRadix,TInt aWidth);
Converts the specified unsigned integer into a fixed width character representation based on the specified number system and appends the conversion onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content
The function generates the exact number of specified characters, either padding to the left with character zeroes or discarding low order characters as necessary.
When a hexadecimal conversion is specified, hexadecimal characters are in lower case.
|
void AppendNumFixedWidthUC(TUint aVal,TRadix aRadix,TInt aWidth);
Converts the specified unsigned integer into a fixed width character representation based on the specified number system and appends the conversion onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content
The function generates the exact number of specified characters, either padding to the left with character zeroes or discarding low order characters as necessary.
When a hexadecimal conversion is specified, hexadecimal characters are in upper case.
|
void AppendNum(TInt64 aVal);
Converts the 64 bit signed integer into a decimal character representation and appends the conversion onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content
If the integer is negative, the character representation is prefixed by a minus sign.
|
void AppendNum(TInt64 aVal,TRadix aRadix);
Converts the specified 64 bit unsigned integer into a character representation based on the specified number system and appends the conversion onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content
When a hexadecimal conversion is specified, hexadecimal characters are in lower case.
|
void AppendNumUC(TInt64 aVal,TRadix aRadix=EDecimal);
Converts the specified 64 bit unsigned integer into a character representation based on the specified number system and appends the conversion onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content
When a hexadecimal conversion is specified, hexadecimal characters are in upper case.
|
TInt AppendNum(TReal aVal,const TRealFormat& aFormat);
Converts the specified floating point number into a character representation and appends the conversion onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content.
The character representation of the real number is dictated by the specified format.
|
|
|
void AppendFormat(TRefByValue<const TDesC16> aFmt,TDes16Overflow* aOverflowHandler,...);
void AppendFormat(TRefByValue<const TDesC16> aFmt,...);
Formats and appends text onto the end of this descriptor's data. The length of this descriptor is incremented to reflect the new content.
The function takes a format string and a variable number of arguments. The format string contains literal text, embedded with directives, for converting the trailing list of arguments into text.
The syntax of the format string can be found in the description of the Format() function.
Literal text is appended on a character by character basis. If it results in the length of this descriptor exceeding its maximum length, then the function:
calls the Overflow()
member function of the
overflow handler, if an overflow handler is supplied.
raises a USER 11 panic, if no overflow handler is supplied.
As much literal text as possible will have been copied into this descriptor and this descriptor will have reached its maximum length.
Text converted from a trailing argument is appended as a complete string. If an attempt to append this string fails because the resulting length of this descriptor would exceed its maximum length, then this function:
calls the Overflow()
member function of the
overflow handler, if an overflow handler is supplied.
raises a USER 11 panic, if no overflow handler is supplied.
None of the generated text is appended and length of this descriptor may be less than the maximum.
|
void AppendFormatList(const TDesC16& aFmt,VA_LIST aList,TDes16Overflow *aOverflowHandler=NULL);
Formats and appends text onto the end of this descriptor's data.
The length of this descriptor is incremented to reflect the new content.
The behaviour of this function is the same as
AppendFormat()
. In practice, it is better and easier to use
AppendFormat()
, passing a variable number of arguments as required
by the format string.
|
void ZeroTerminate();
Appends a zero terminator onto the end of this descriptor's data.
The length of the descriptor is not changed. It must be strictly less than the descriptor's maximum length otherwise the function raises a USER 11 panic. This condition guarantees that there is sufficient space for the zero terminator.
const TUint16* PtrZ();
Appends a zero terminator onto the end of this descriptor's data and returns a pointer to the data.
The length of the descriptor is not changed. It must be strictly less than the descriptor's maximum length otherwise the function raises a USER 11 panic. This condition guarantees that there is sufficient space for the zero terminator.
|
void Fill(TChar aChar);
void Fill(TChar aChar,TInt aLength);
Fills the descriptor's data area with the specified character, replacing any existing data.
If an explicit length is not specified, then the descriptor is filled from the beginning up to its current length. The descriptor's length does not change. It is not filled to its maximum length.
If an explicit length is specified, then the descriptor is filled with this number of characters. The descriptor's length is changed to reflect this.
|
void FillZ();
void FillZ(TInt aLength);
Fills the descriptor's data area with binary zeroes,
i.e.0x0000
, replacing any existing data.
If an explicit length is not specified, then the descriptor is filled from the beginning up to its current length. The descriptor's length does not change. It is not filled to its maximum length.
If an explicit length is specified, then the descriptor is filled with this number of binary zeroes. The descriptor's length is changed to reflect this.
|
void Capitalize();
Capitalises the content of this descriptor.
Capitalisation is implemented as appropriate to the current locale.
void LowerCase();
Converts the content of this descriptor to lower case.
Conversion is implemented as appropriate to the current locale.
void UpperCase();
Converts the content of this descriptor to upper case.
Conversion is implemented as appropriate to the current locale.
void Fold();
Performs folding on the content of this descriptor.