template<typename T>
class Geo::GeoTokenStream
A very simple utility class that wraps some common parsing functionality around a GeoTokenList.
The token list provided in Create is just referenced, not copied, so the token list must out-live this class.
Functions
Name | Description |
---|---|
Create(GeoTokenList< T > &) | Creates a GeoTokenStream which reads from the given GeoTokenList. |
GetCurrentTokenIdx() | Gets the index of the current token. |
GetLastErrorString() | Gets a textual description of the last parsing error encountered. |
HasMoreTokens() | Checks if there are more tokens to read. |
Release() | Destroys this GeoTokenStream. |
ResetStream() | Resets the stream to the beginning of the token list. |
SetCurrentTokenIdx(s32) | Sets the stream position to the given token index. |
TokenExtract(GeoString< T > &) | Parses the current token into the appropriate type, and advances the stream if successful. |
TokenExtract(float &) | Parses the current token into the appropriate type, and advances the stream if successful. |
TokenExtract(v128 &, bool) | Parses the current token into the appropriate type, and advances the stream if successful. |
TokenExtract(u16 &) | Parses the current token into the appropriate type, and advances the stream if successful. |
TokenExtract(s32 &) | Parses the current token into the appropriate type, and advances the stream if successful. |
TokenExtract(bool &) | Parses the current token into the appropriate type, and advances the stream if successful. |
TokenExtract(ENUM &, const T **, const T **) | Parses the current token into an enum, and advances the stream if successful. |
TokenMatch(const T *, bool) | Checks if the current token matches the given string, and advances the stream if successful. |
TokenMatchOption(const T **, s32, bool) | Checks if the current token matches the given string, and advances the stream if successful. |
static GeoTokenStream* Geo::GeoTokenStream< T >::Create
public: GeoTokenStream * Create
(
GeoTokenList< T > & tl
)
Creates a GeoTokenStream which reads from the given GeoTokenList.
s32 Geo::GeoTokenStream< T >::GetCurrentTokenIdx
public: s32 GetCurrentTokenIdx() const
Gets the index of the current token.
const char* Geo::GeoTokenStream< T >::GetLastErrorString
public: const char * GetLastErrorString() const
Gets a textual description of the last parsing error encountered.
bool Geo::GeoTokenStream< T >::HasMoreTokens
public: bool HasMoreTokens() const
Checks if there are more tokens to read.
void Geo::GeoTokenStream< T >::Release
public: void Release()
Destroys this GeoTokenStream.
void Geo::GeoTokenStream< T >::ResetStream
public: void ResetStream()
Resets the stream to the beginning of the token list.
void Geo::GeoTokenStream< T >::SetCurrentTokenIdx
public: void SetCurrentTokenIdx
(
s32 idx
)
Sets the stream position to the given token index.
bool Geo::GeoTokenStream< T >::TokenExtract
public: bool TokenExtract
(
GeoString< T > & outStr
)
Parses the current token into the appropriate type, and advances the stream if successful.
bool Geo::GeoTokenStream< T >::TokenExtract
public: bool TokenExtract
(
float & outFloat
)
Parses the current token into the appropriate type, and advances the stream if successful.
bool Geo::GeoTokenStream< T >::TokenExtract
public: bool TokenExtract
(
v128 & outVector,
bool bDefaultW
)
Parses the current token into the appropriate type, and advances the stream if successful.
bool Geo::GeoTokenStream< T >::TokenExtract
public: bool TokenExtract
(
u16 & outShort
)
Parses the current token into the appropriate type, and advances the stream if successful.
bool Geo::GeoTokenStream< T >::TokenExtract
public: bool TokenExtract
(
s32 & outInt
)
Parses the current token into the appropriate type, and advances the stream if successful.
bool Geo::GeoTokenStream< T >::TokenExtract
public: bool TokenExtract
(
bool & outBool
)
Parses the current token into the appropriate type, and advances the stream if successful.
bool Geo::GeoTokenStream< T >::TokenExtract
public: bool TokenExtract
(
ENUM & outEnum,
const T ** pstrBegin,
const T ** pstrEnd
)
Parses the current token into an enum, and advances the stream if successful.
bool Geo::GeoTokenStream< T >::TokenMatch
public: bool TokenMatch
(
const T * str,
bool ignoreCase
)
Checks if the current token matches the given string, and advances the stream if successful.
s32 Geo::GeoTokenStream< T >::TokenMatchOption
public: s32 TokenMatchOption
(
const T ** optionStr,
s32 numOptions,
bool ignoreCase
)
Checks if the current token matches the given string, and advances the stream if successful.