»
Symbian OS v6.1 Edition for C++ »
API Reference »
Lexical Analysis »
TLex8
Location:
e32std.h
Link against: euser.lib
TLex8
Support
Supported from 5.0
Description
Provides general string-parsing functions suitable for numeric
format conversions and syntactical-element parsing. The class is the 8 bit
variant for non-Unicode strings and 8 bit wide characters.
An instance of this class stores a string, maintaining an
extraction mark to indicate the current lexical element being analysed and a
pointer to the next character to be examined.
Objects of this type are normally accessed through the build
independent type TLex
.
Defined in TLex8
:
Assign()
, Eos()
, Get()
, Inc()
, Mark()
, MarkedOffset()
, MarkedToken()
, NextToken()
, Offset()
, Peek()
, Remainder()
, RemainderFromMark()
, SkipAndMark()
, SkipCharacters()
, SkipSpace()
, SkipSpaceAndMark()
, TLex8()
, TokenLength()
, UnGet()
, UnGetToMark()
, Val()
, operator=()
See also:
Construction and destruction
TLex8();
Description
Constructs a TLex8
, initialising its members to
NULL.
TLex8(const TUint8* aString);
Description
Constructs the object with a pointer to a string. The extraction
mark and next character members are initialised to point to the start of the
string.
Parameters
const TUint8* aString |
String to be assigned. |
|
TLex8(const TDesC8& aDes);
Description
Constructs the object with a descriptor. The extraction mark and
next character members are initialised to point to the start of the
string.
Parameters
const TDesC8& aDes |
Descriptor to be assigned by reference |
|
TLex8(const TLex8& aLex);
Description
Constructs the object with a TLex8
.
Parameters
const TLex8& aLex |
TLex8 to be copied by reference. |
|
void Mark();
Description
Sets the TLex8
’s next character position to its
extraction mark.
void Mark(TLexMark8& aMark) const;
Description
Sets the supplied extraction mark to the TLex8
’s next
character position.
Parameters
TLexMark8& aMark |
On return, set to the next character position |
|
void Inc();
Description
Increments to the next character position.
Note:
void Inc(TInt aNumber);
Description
Increments the next character position by aNumber
.
Parameters
TInt aNumber |
The number of characters to increment the next character position by. If
the increment puts the next character position before the start or beyond the
end of the string, the function panics. |
|
See also:
TChar Peek() const;
Description
Shows the next character to be returned by Get()
.
Return value
TChar |
Character to be returned by Get() . Returns 0 if at the end
of the string. |
|
See also:
TChar Get();
Description
Gets the next character in the string and increments the next character
position.
Return value
TChar |
Next character to be read. Returns 0 if at the end of the string. |
|
void UnGet();
Description
Decrements the next character position, allowing the previously "got"
character to be re-read.
Note:
See also:
void UnGetToMark();
Description
Sets the next character position to the current extraction mark
position.
Note:
void UnGetToMark(const TLexMark8 aMark);
Description
Sets the next character position to the supplied extraction mark
position.
Parameters
const TLexMark8& aMark |
Mark to copy to the next character position. If the extraction mark is
before the start or beyond the end of the string, the function panics. |
|
See also:
void SkipSpace();
Description
Moves the next character position past any white space (space or
separator). Stops if at the end of string.
void SkipSpaceAndMark();
Description
Moves the next character position past any white space and copies it to
the TLex8
’s extraction mark. Stops if at the end of the
string.
void SkipSpaceAndMark(TLexMark8& aMark);
Description
Moves the next character position past any white space and copies it to
the specified extraction mark. Stops if at the end of the string.
Parameters
TLexMark8& aMark |
On return contains a reference to the next character position. |
|
void SkipCharacters();
Description
Moves the next character position to the next white space (space or
separator). Stops if at the end of the string.
See also:
void SkipAndMark(TInt aNumber);
Description
Moves the next character position a specified number of characters. Stops
if at the end of the string.
Parameters
TInt aNumber |
Number of characters to skip. If the skip moves the next character
position to before the start or beyond the end of the string, the function
panics. |
|
void SkipAndMark(TInt aNumber, TLexMark8& aMark);
Description
Moves the next character position a specified number of characters and
copies it to the specified extraction mark. Stops if at the end of the
string.
Parameters
TInt aNumber |
Number of characters to skip. If the skip moves the next character
position to before the start or beyond the end of the string, the function
panics. |
TLexMark8& aMark |
On return, set to the next character position. |
|
Description
A token is considered to be a character string delimited by white space
(space or separator).
TInt TokenLength() const;
Description
Gets the length of the token. This is the difference of the next
character position and the extraction mark.
Note:
Return value
TInt |
Length of the token. |
|
See also:
TInt TokenLength(const TLexMark8 aMark) const;
Description
Gets the length of the token starting at the specified extraction
mark.
Parameters
const TLexMark8& aMark |
Extraction mark indicating the start of the token. If this mark is
before the start or beyond the end of the string, the function panics. |
|
Return value
TInt |
Length of the token. |
|
TPtrC8 MarkedToken() const;
Description
Extracts the marked token.
Note:
Return value
TPtrC8 MarkedToken(const TLexMark8 aMark) const;
Description
Extracts the token, starting at the specified mark
Parameters
const TLexMark8& aMark |
Extraction mark indicating the start of the token. If this mark is
before the start or beyond the end of the string, the function panics. |
|
Return value
TPtrC8 NextToken();
Description
Strips any white space and extracts the next token.
Return value
Getting the remaining text
TPtrC8 Remainder() const;
Description
Gets a descriptor containing all the text from the next character
position to the end of the string.
Note:
Return value
TPtrC8 |
Text from the next character position onwards. |
|
TPtrC8 RemainderFromMark() const;
Description
Gets a descriptor containing all the text from the extraction mark to the
end of the string.
Note
Return value
TPtrC8 |
Text from the extraction mark onwards. |
|
TPtrC8 RemainderFromMark(const TLexMark8 aMark) const;
Description
Gets a descriptor containing all the text from the specified extraction
mark to the end of the string.
Parameters
const TLexMark8& aMark |
Extraction mark indicating where remaining text starts. If this mark is
before the start or beyond the end of the string, the function panics. |
|
Return value
TPtrC8 |
Text from the specified extraction mark onwards. |
|
TInt Offset() const;
Description
Gets the offset of the next character position from the start of the
string.
Return value
TInt |
Offset of next character position. |
|
See also:
TInt MarkedOffset() const;
Description
Gets the offset of the extraction mark from the start of the
string.
Return value
TInt |
The offset of the extraction mark. |
|
TInt MarkedOffset(const TLexMark8 aMark) const;
Description
Gets the offset of the specified extraction mark from the start of the
string.
Parameters
const TLexMark8 aMark |
Extraction mark. If this mark is before the start or beyond the end of
the string, the function panics. |
|
Return value
TInt |
The offset of the extraction mark. |
|
Signed integer conversion
TInt Val(TInt& aVal);
Description
Parses the string to extract a signed integer.
Parameters
TInt& aVal |
On return, contains the extracted integer. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TInt8& aVal);
Description
Parses the string to extract a signed 8 bit integer.
Parameters
TInt8& aVal |
On return, contains the extracted integer. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TInt16& aVal);
Description
Parses the string to extract a signed 16 bit integer.
Parameters
TInt16& aVal |
On return, contains the extracted integer. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TInt32& aVal);
Description
Parses the string to extract a signed 32 bit integer.
Parameters
TInt32& aVal |
On return, contains the extracted integer. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TInt64& aVal);
Description
Parses the string to extract a signed 64 bit integer.
Parameters
TInt64& aVal |
On return, contains the extracted integer. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
Signed integer conversion with limit check
TInt Val(TInt32& aVal,TInt aLimit);
Description
Parses the string to extract a signed 32 bit integer, and
returnsKErrOverflow
if the integer exceeds a specified
limit.
Parameters
TInt32& aVal |
On return, contains the extracted integer. |
TInt aLimit |
Limit value. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TInt64& aVal,const TInt64& aLimit);
Description
Parses the string to extract a signed 64 bit integer, and
returnsKErrOverflow
if the integer exceeds a specified
limit.
Parameters
TInt64& aVal |
On return, contains the extracted integer. |
const TInt64& aLimit |
Limit value. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
Unsigned integer conversion
TInt Val(TUint& aVal,TRadix aRadix=EDecimal);
Description
Parses the string to extract an unsigned integer, using a specified
radix. The specified radix is one of binary, octal, decimal, or
hexadecimal.
Parameters
TUint& aVal |
On return, contains the extracted integer. |
TRadix aRadix |
Radix to use when converting number. The default radix for this function
overload is decimal. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TUint8& aVal,TRadix aRadix);
Description
Parses the string to extract an 8 bit unsigned integer, using a specified
radix. The specified radix is one of binary, octal, decimal, or
hexadecimal.
Parameters
TUint8& aVal |
On return, contains the extracted integer. |
TRadix aRadix |
Radix to use when converting number. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TUint16& aVal,TRadix aRadix);
Description
Parses the string to extract a 16 bit unsigned integer, using a specified
radix. The specified radix is one of binary, octal, decimal, or
hexadecimal.
Parameters
TUint16& aVal |
On return, contains the extracted integer. |
TRadix aRadix |
Radix to use when converting number. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TUint32& aVal,TRadix aRadix);
Description
Parses the string to extract a 32 bit unsigned integer, using a specified
radix. The specified radix is one of binary, octal, decimal, or
hexadecimal.
Parameters
TUint32& aVal |
On return, contains the extracted integer. |
TRadix aRadix |
Radix to use when converting number. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TInt64& aVal,TRadix aRadix);
Description
Parses the string to extract a 64 bit unsigned integer, using a specified
radix. The specified radix is one of binary, octal, decimal, or
hexadecimal.
Parameters
TInt64& aVal |
On return, contains the extracted integer. |
TRadix aRadix |
Radix to use when converting number. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
Unsigned integer conversion with limit check
TInt Val(TUint32& aVal,TRadix aRadix,TUint aLimit);
Description
Parses the string to extract an unsigned 32 bit integer using a specified
radix, and returns KErrOverflow
if the integer exceeds a specified
limit.
Parameters
TUint32& aVal |
On return, contains the extracted integer. |
TRadix aRadix |
Radix to use when converting number. |
TUint aLimit |
Limit value. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TInt64& aVal,TRadix aRadix,const TInt64& aLimit);
Description
Parses the string to extract an unsigned 64 bit integer using a specified
radix, and returns KErrOverflow
if the integer exceeds a specified
limit.
Parameters
TInt64& aVal |
On return, contains the extracted integer. |
TRadix aRadix |
Radix to use when converting number. |
const TInt64& aLimit |
Limit value. |
|
Return value
TInt |
KErrNone if successful, KErrGeneral if the
next character position initially at end of string or no valid characters found
initially, or KErrOverflow if there is sign
overflow — converted value greater than limit. If error
codesKErrGeneral or KErrOverflow are returned, the
object's members are left unaltered. |
|
TInt Val(TReal32& aVal);
Description
Parses the string to extract a 32 bit real number. The character
interpreted as the decimal point is the current locale's decimal separator
value.
Parameters
TReal32& aVal |
On return, contains the extracted number. |
|
Return value
TInt |
KErrNone if successful, otherwise another of the
system-wide error codes. |
|
TInt Val(TReal64& aVal);
Description
Parses the string to extract a 64 bit real number. The character
interpreted as the decimal point is the current locale's decimal separator
value.
Parameters
TReal64& aVal |
On return, contains the extracted number. |
|
Return value
TInt |
KErrNone if successful, otherwise another of the
system-wide error codes. |
|
Real number conversion, specifying character for decimal
point
TInt Val(TReal32& aVal,TChar aPoint);
Description
Parses the string to extract a 32 bit real number, specifying the
character to be interpreted as the decimal point.
Parameters
TReal32& aVal |
On return, contains the extracted number. |
TChar aPoint |
Character to be interpreted as the decimal point. |
|
Return value
TInt |
KErrNone if successful, otherwise another of the
system-wide error codes. |
|
TInt Val(TReal64& aVal,TChar aPoint);
Description
Parses the string to extract a 64 bit real number, specifying the
character to be interpreted as the decimal point.
Parameters
TReal64& aVal |
On return, contains the extracted number. |
TChar aPoint |
Character to be interpreted as the decimal point. |
|
Return value
TInt |
KErrNone if successful, otherwise another of the
system-wide error codes. |
|
TLex8& operator=(const TLex8& aLex);
Description
Allows TLex8
objects to be assigned to
aTLex8
when the = operator is overloaded.
Parameters
const TLex8& aLex |
TLex8 to be assigned to the TLex8 . |
|
Return value
TLex8& operator=(const TUint8* aString);
Description
Allows descriptors to be assigned to a TLex8
when the =
operator is overloaded.
Parameters
const TUint8* aString |
String to be assigned to the TLex8 . |
|
Return value
TLex8& operator=(const TDesC8& aDes);
Description
Allows pointers to strings to be assigned to a TLex8
when
the = operator is overloaded.
Parameters
const TDesC8& aDes |
Descriptor to be assigned to the TLex8 . |
|
Return value
Assign string to be lexed from various sources
void Assign(const TLex8& aLex);
void Assign(const TUint8* aString);
void Assign(const TDesC8& aDes);
Description
Assigns a string to this object from another TLex8 object, from another
string or from a descriptor.
Parameters
const TLex8& aLex |
The object to be assigned. |
const TUint8* aString |
A pointer to a string to be assigned. |
const TDesC8& aDes |
A descriptor containing a string to be assigned |
|
TBool Eos() const;
Description
Tests to see if the next character position is at the end of the
string.
Return value
TBool |
True if at end of string, false otherwise. |
|