Itasca C++ Interface
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
itasca::IParse Class Referenceabstract

Interface to the main command processing class. More...

#include <iparse.h>

Classes

class  IMark
 Opaque position indicator class. Do not attempt to use directly for anything. More...
 

Public Types

enum  RetCode {
  rcOK , rcMiss , rcBad , rcRange ,
  rcExtra
}
 Possible return codes for isXXX() functions. More...
 

Public Member Functions

virtual ~IParse ()
 Virtual destructor.
 
virtual bool interactiveSource () const =0
 Returns TRUE if the input source for the command being processed was interactive.
 
virtual void tagLastInputForSmartUndo (const QString &label, uint64 maxLevel, const QString &undoCommand)=0
 
virtual int getTokenIndex (IMark *p=nullptr) const =0
 
virtual int getLineNumber (IMark *p=nullptr) const =0
 
virtual IVect2 getTokenExtent (IMark *p=nullptr) const =0
 
virtual ITextOutputgetITextOutput ()=0
 Returns an ITextIO interface associated with this parser.
 
virtual const ITextInputgetITextInput () const =0
 Returns an ITextInput interface associated with this parser.
 
virtual ITextInputgetITextInput ()=0
 Returns an ITextInput interface associated with this parser.
 
virtual const QList< InputLine > & getOriginalInput () const =0
 Returns the original strings used to generate the set of command tokens.
 
virtual IParsecreateTemporaryParse (const QString &)=0
 A method to return a temporary IParse Object that must be deleted.
 
virtual IMarkcreateMark (int pos=0) const =0
 
virtual IMarkcreateMarkCopy (IMark *p=nullptr) const =0
 
virtual void increment (IMark *p=nullptr) const =0
 Increments the provided or internal mark.
 
virtual void decrement (IMark *p=nullptr) const =0
 Decrements the provided or internal mark.
 
virtual void setMark (IMark *pNew, IMark *p=nullptr) const =0
 Sets the internal position indicator to p.
 
virtual IString getToken (IMark *p=nullptr) const =0
 
virtual bool isToken (IMark *p=nullptr) const =0
 
virtual void checkError (RetCode rc, IMark *p=nullptr) const =0
 
virtual bool checkError (bool b, IMark *p=nullptr) const =0
 
virtual void addHelp (const IString &s) const =0
 Adds a QString representing a token type to the help list. Multiple matching Strings are filtered.
 
virtual bool isHelp (IMark *p=nullptr) const =0
 Returns TRUE if the token matches one of the help_tokens.
 
virtual RetCode isString (QString *ps=nullptr, IMark *p=nullptr, bool encodeBackslash=true) const =0
 
virtual RetCode isBool (bool *pb=nullptr, IMark *p=nullptr, bool implicitOn=false) const =0
 
virtual RetCode isInt (int *pi=nullptr, IMark *p=nullptr, int iMin=limits< int >::min(), int iMax=limits< int >::max()) const =0
 
virtual RetCode isLong (qint64 *pl=nullptr, IMark *p=nullptr, qint64 lMin=limits< qint64 >::min(), qint64 lMax=limits< qint64 >::max()) const =0
 
virtual RetCode isUInt (uint32 *pu=nullptr, IMark *p=nullptr, uint32 uMin=0, uint32 uMax=limits< uint32 >::max()) const =0
 
virtual RetCode isULong (uint64 *pu=nullptr, IMark *p=nullptr, uint64 uMin=0, uint64 uMax=limits< uint64 >::max()) const =0
 
virtual RetCode isName (QString *ps=nullptr, IMark *p=nullptr) const =0
 
virtual RetCode isDouble (double *pd=nullptr, IMark *p=nullptr, double dMin=limits< double >::lowest(), double dMax=limits< double >::max()) const =0
 
virtual RetCode isKeyword (const IString &key, uint32 *pPos=nullptr, IMark *p=nullptr) const =0
 
virtual RetCode isMultiKeyword (const IString &key, std::vector< uint32 > *pPos, IMark *p=nullptr) const =0
 
virtual RetCode isDVect2 (DVect2 *pv=nullptr, IMark *p=nullptr) const =0
 
virtual RetCode isDVect3 (DVect3 *pv=nullptr, IMark *p=nullptr) const =0
 
virtual RetCode isDVect (DVect *pv=nullptr, IMark *p=nullptr) const =0
 
virtual RetCode isSymTensor (SymTensor *pv=nullptr, IMark *p=nullptr) const =0
 
virtual RetCode isVariant (int type, QVariant *pv=nullptr, IMark *p=nullptr, uint32 len=0) const =0
 
virtual RetCode isVariant (QVariant *pv=nullptr, IMark *p=nullptr) const =0
 
virtual RetCode isFilename (QString *ps=nullptr, const IString &def_ext={}, bool openForRead=false, IMark *p=nullptr) const =0
 
virtual IString toString (IMark *p=nullptr) const =0
 
virtual bool toBool (IMark *p=nullptr, bool implicitOn=false) const =0
 
virtual int toInt (IMark *p=nullptr, int iMin=limits< int >::min(), int iMax=limits< int >::max()) const =0
 
virtual qint64 toLong (IMark *p=nullptr, qint64 lMin=limits< qint64 >::min(), qint64 lMax=limits< qint64 >::max()) const =0
 
virtual uint32 toUInt (IMark *p=nullptr, uint32 uMin=0, uint32 uMax=limits< uint32 >::max()) const =0
 
virtual uint64 toULong (IMark *p=nullptr, uint64 uMin=0, uint64 uMax=limits< uint64 >::max()) const =0
 
virtual IString toName (IMark *p=nullptr) const =0
 
virtual double toDouble (IMark *p=nullptr, double dMin=-limits< double >::max(), double dMax=limits< double >::max()) const =0
 
virtual uint32 toKeyword (const IString &key, IMark *p=nullptr) const =0
 
virtual DVect toDVect (IMark *p=0) const =0
 
virtual DVect2 toDVect2 (IMark *p=nullptr) const =0
 
virtual DVect3 toDVect3 (IMark *p=nullptr) const =0
 
virtual SymTensor toSymTensor (IMark *p=nullptr) const =0
 
virtual QVariant toVariant (int type, IMark *p=nullptr, uint32 len=0) const =0
 
virtual QVariant toVariant (IMark *p=nullptr) const =0
 
virtual IString toFilename (const IString &def_ext={}, bool openForRead=false, IMark *p=nullptr) const =0
 
virtual int isStringCharStart (QChar c) const =0
 
virtual int isStringCharEnd (QChar c) const =0
 
virtual QStringList getSkipList () const =0
 Returns the original skip list parsed from the input line.
 
virtual bool checkSkipPre (QStringList *skipList, QChar c, IMark *p=nullptr) const =0
 
virtual bool checkSkipPost (QStringList *skipList, QChar c, IMark *p=nullptr) const =0
 
virtual void addSkipPre (QStringList *skipList, QChar c, IMark *p=nullptr) const =0
 Adds a character to the end of the skip string BEFORE the current token.
 
virtual void addSkipPost (QStringList *skipList, QChar c, IMark *p=nullptr) const =0
 Adds a character to the start of the skip string AFTER the current token.
 
virtual bool findKeyword (const QString &keyword, IMark *pFound, IMark *pStart=nullptr) const =0
 
virtual void stripTokens (IMark *mBegin, IMark *mEnd, IMark *p=nullptr)=0
 
virtual bool activateHelp (bool b)=0
 Turne help on/off.
 
virtual bool hasHelpToken () const =0
 Return a boolean indicating whether or not a help token is in the token list.
 
virtual void destroy ()=0
 

Detailed Description

Interface to the main command processing class.

This is an interface to the main command processing class. Specifically, this class takes command string and tokenizes them, allowing them to be interpreted as commands.

The class IParse::IMark is used to indication a position in the token list. This class is completely opaque, you must use member function of IParse to create and modify them. In particular - do not do "*im1 = *im2;" where both im1 and im2 are pointers to IParse::IMark. This will compile and execute, but not produce the results you want. I was unable to get this to give a compile time error ;(.

An IParse object contains an internal position indicator that is used by default if one is not specified in the command. All functions that accept an IMark assume (without checking) that the IMark was created by the same IParse it was being used in.

There are four broad categores of functions
isXXX() (Check conversion functions) check to see if a token can be interpreted in a certain way, and return an IParse::RetCode to indicate success or failure. If successful, they will fill a pointer to the object (if given) and increment the IParse::IMark position indicator.
toXXX() (Automatic throw routines) directly converts to the indicated type and returns the value, throwing an Exception if the token was unable to be interpreted.
IParse::IMark manipulation functions create, check, and modify the position of IParse::IMark objects.
General utility functions.

Functions getTokenIndex, getLineNumber and getTokenExtent return information on the original location of the token on the input line. Note that if the token was created as the result of macro expansion, the information indicates the macro it came from.

Member Enumeration Documentation

◆ RetCode

Possible return codes for isXXX() functions.

Enumerator
rcOK 

token was interpreted successfully.

rcMiss 

no token was present at that position.

rcBad 

the token could not be interepreted as asked.

rcRange 

the token was interpreted correctly but it's value fell outside of a restricted range given.

rcExtra 

an extra unused token was found at the end of the command line.

Member Function Documentation

◆ checkError()

virtual void itasca::IParse::checkError ( RetCode rc,
IMark * p = nullptr ) const
pure virtual

Throws an exception (or not) based on rc assuming it was the result of trying to process the token p. If rc==rcOK does nothing.

◆ checkSkipPost()

virtual bool itasca::IParse::checkSkipPost ( QStringList * skipList,
QChar c,
IMark * p = nullptr ) const
pure virtual

Checks the skipped delimiter exists after the mark token in the skip string AFTER the token marker. Returns TRUE if found, and REMOVES THAT CHARACTER from the skipList.

◆ checkSkipPre()

virtual bool itasca::IParse::checkSkipPre ( QStringList * skipList,
QChar c,
IMark * p = nullptr ) const
pure virtual

Checks the skipped delimiter exists before the mark token in the skip string BEFORE the token marker. Returns TRUE if found, and REMOVES THAT CHARACTER from the skipList.

◆ createMark()

virtual IMark * itasca::IParse::createMark ( int pos = 0) const
pure virtual

Creates an IMark indicating the pos token (base 0), or end() if token does not exist.
MUST BE DELETED BY CALLER

◆ createMarkCopy()

virtual IMark * itasca::IParse::createMarkCopy ( IMark * p = nullptr) const
pure virtual

Creates an IMark that indicates the same position as p, or the internal indicator if p is not given.
MUST BE DELETED BY CALLER

◆ findKeyword()

virtual bool itasca::IParse::findKeyword ( const QString & keyword,
IMark * pFound,
IMark * pStart = nullptr ) const
pure virtual

Returns TRUE if a keyword match is found in any token at or after pStart. pStart=nullptr means the internal position indicator. Fill pFound (if non-zero) with the location found.

◆ getLineNumber()

virtual int itasca::IParse::getLineNumber ( IMark * p = nullptr) const
pure virtual

Returns the continuation line (starting at 0) the token came from.
The end mark indicator returns the line of the last valid token, or 0 if no valid tokens currently exist.

◆ getToken()

virtual IString itasca::IParse::getToken ( IMark * p = nullptr) const
pure virtual

Returns the token present at the given mark - does not increment p.
Does NOT check that p represents a valid token!

◆ getTokenExtent()

virtual IVect2 itasca::IParse::getTokenExtent ( IMark * p = nullptr) const
pure virtual

Gives the minimum and maximum character index of the token in the original string, on the appropriate line. The end mark indicator returns one past the last valid token ans beginning and end, or (0,0) if no valid tokens currently exist.

◆ getTokenIndex()

virtual int itasca::IParse::getTokenIndex ( IMark * p = nullptr) const
pure virtual

Returns the placement of the token on the command (base 0), over all continuation lines. The end IMark indicator (not valid) is given as the size of the current token list.

◆ isBool()

virtual RetCode itasca::IParse::isBool ( bool * pb = nullptr,
IMark * p = nullptr,
bool implicitOn = false ) const
pure virtual

Checks if token is a boolean. If successful, it will fill the boolean pointer to the object (if given) and increment the IParse::IMark position indicator.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isDouble()

virtual RetCode itasca::IParse::isDouble ( double * pd = nullptr,
IMark * p = nullptr,
double dMin = limits< double >::lowest(),
double dMax = limits< double >::max() ) const
pure virtual

Checks if token is a double. If successful, it will fill the double pointer to the object (if given) and increment the IParse::IMark position indicator.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isDVect()

virtual RetCode itasca::IParse::isDVect ( DVect * pv = nullptr,
IMark * p = nullptr ) const
pure virtual

Checks if token is a DVect. If successful, it will fill the DVect pointer to the object (if given) and increment the IParse::IMark position indicator three steps.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isDVect3()

virtual RetCode itasca::IParse::isDVect3 ( DVect3 * pv = nullptr,
IMark * p = nullptr ) const
pure virtual

Checks if token is a DVect3. If successful, it will fill the DVetc3 pointer to the object (if given) and increment the IParse::IMark position indicator three steps.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isFilename()

virtual RetCode itasca::IParse::isFilename ( QString * ps = nullptr,
const IString & def_ext = {},
bool openForRead = false,
IMark * p = nullptr ) const
pure virtual

Checks if token is a valid file path. If successful, it will fill the Qstring pointer to the object (if given) and increment the IParse::IMark position indicator.
def_ext can contain multiple extensions, delimited by spaces.
Will always return an absolution file path.
If openForRead is true, will check for all default extensions and in both input and current directory for a valid file, and return the one found.
"inputdir" and "localdir" can be specified after the file name to force the file to be in the input directory or the current working directory, respectively.
If no extension is given, will use def_ext to provide an extension (if present).
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isInt()

virtual RetCode itasca::IParse::isInt ( int * pi = nullptr,
IMark * p = nullptr,
int iMin = limits< int >::min(),
int iMax = limits< int >::max() ) const
pure virtual

Checks if token is a signed 32-bit integer. If successful, it will fill the int pointer to the object (if given) and increment the IParse::IMark position indicator.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isKeyword()

virtual RetCode itasca::IParse::isKeyword ( const IString & key,
uint32 * pPos = nullptr,
IMark * p = nullptr ) const
pure virtual

Given a string that contains a list of comma delimited keywords, checks if the token is a valid word in the list. If successful, it will fill the uint32 pointer to the position of the keyword in the keyword list. The position in the string list starts at 1. and increment the IParse::IMark position indicator.
Returns a RetCode indicating if it was able to interpret the token as desired. A leading '-' indicator means the option is hidden/deprecated. The '-' isn't necessary normally and it won't show up in a help query. In testing mode the '-' is necessary for a match. For example: "fred,-george,mary lemon" has three possible return positions (1-3). "george" is hidden/deprecated. Either "mary" or "lemon" will match the third position.

◆ isLong()

virtual RetCode itasca::IParse::isLong ( qint64 * pl = nullptr,
IMark * p = nullptr,
qint64 lMin = limits< qint64 >::min(),
qint64 lMax = limits< qint64 >::max() ) const
pure virtual

Checks if token is a signed 64-bit long. If successful, it will fill the long pointer to the object (if given) and increment the IParse::IMark position indicator.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isString()

virtual RetCode itasca::IParse::isString ( QString * ps = nullptr,
IMark * p = nullptr,
bool encodeBackslash = true ) const
pure virtual

Checks if token is a string. If successful, it will fill the string pointer to the object (if given) and increment the IParse::IMark position indicator.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isStringCharEnd()

virtual int itasca::IParse::isStringCharEnd ( QChar c) const
pure virtual

Determines if c is a string delimiter token, indicating the end of a string token.
Returns 0 if it is not, a positive integer is the index (base 1) of the delimiter character.
This can be used to find a matching end delimiter using isStringCharBegin().
Note that beginning and ending string delimiters do not have to be the same, but most commonly are.

◆ isStringCharStart()

virtual int itasca::IParse::isStringCharStart ( QChar c) const
pure virtual

Determines if c is a string delimiter token, indicating the start of a string token.
Returns 0 if it is not, a positive integer is the index (base 1) of the delimiter character.
This can be used to find a matching end delimiter using isStringCharEnd().
Note that beginning and ending string delimiters do not have to be the same, but most commonly are.

◆ isSymTensor()

virtual RetCode itasca::IParse::isSymTensor ( SymTensor * pv = nullptr,
IMark * p = nullptr ) const
pure virtual

Checks if token is a SymTensor. If successful, it will fill the SymTensor pointer to the object (if given) and increment the IParse::IMark position indicator 6 steps.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isToken()

virtual bool itasca::IParse::isToken ( IMark * p = nullptr) const
pure virtual

Checks to make sure that p represents a valid token.
NOTE: Assumes that p is an mark type aquired from this instance of Parse. Assuming p is a valid token, this will returns false only when an IMark has been incremented past the last token in the command.

◆ isUInt()

virtual RetCode itasca::IParse::isUInt ( uint32 * pu = nullptr,
IMark * p = nullptr,
uint32 uMin = 0,
uint32 uMax = limits< uint32 >::max() ) const
pure virtual

Checks if token is a unsigned 32-bit integer. If successful, it will fill the uint32 pointer to the object (if given) and increment the IParse::IMark position indicator.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isULong()

virtual RetCode itasca::IParse::isULong ( uint64 * pu = nullptr,
IMark * p = nullptr,
uint64 uMin = 0,
uint64 uMax = limits< uint64 >::max() ) const
pure virtual

Checks if token is a unsigned 64-bit long. If successful, it will fill the long pointer to the object (if given) and increment the IParse::IMark position indicator.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isVariant() [1/2]

virtual RetCode itasca::IParse::isVariant ( int type,
QVariant * pv = nullptr,
IMark * p = nullptr,
uint32 len = 0 ) const
pure virtual

Checks if token is a DVect. If successful, it will fill the DVect pointer to the object (if given) and increment the IParse::IMark position indicator two or three steps, dependig if code is 2D or 3D.
Returns a RetCode indicating if it was able to interpret the token as desired. Checks if token is a ADVect. If successful, it will fill the ADVect pointer to the object (if given) and increment the IParse::IMark position indicator two or three steps, dependig if code is 2D or 3D.
Returns a RetCode indicating if it was able to interpret the token as desired. Checks if token is a QVariant of the given QVariant::type. If successful, it will fill the QVariant pointer to the object (if given) and increment the IParse::IMark position indicator.
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ isVariant() [2/2]

virtual RetCode itasca::IParse::isVariant ( QVariant * pv = nullptr,
IMark * p = nullptr ) const
pure virtual

Checks if token is a QVariant. If successful, it will fill the QVariant pointer to the object (if given) and increment the IParse::IMark position indicator.
Checks in the following order: DVect3,DVect2,double,int,bool,QString
Returns a RetCode indicating if it was able to interpret the token as desired.

◆ stripTokens()

virtual void itasca::IParse::stripTokens ( IMark * mBegin,
IMark * mEnd,
IMark * p = nullptr )
pure virtual

Removes tokens from the current list after and including token m. The current position indicator is updated to be consistent. p (if provided) is updated to be consistent as well.

◆ toBool()

virtual bool itasca::IParse::toBool ( IMark * p = nullptr,
bool implicitOn = false ) const
pure virtual

Checks if token is a boolean. If successful, returns a boolean and increment the IParse::IMark position indicator.
Throws an Exception if the token was unable to be interpreted

◆ toDouble()

virtual double itasca::IParse::toDouble ( IMark * p = nullptr,
double dMin = -limits< double >::max(),
double dMax = limits< double >::max() ) const
pure virtual

Checks if token is a double. If successful, returns a double and increment the IParse::IMark position indicator.
Throws an Exception if the token was unable to be interpreted

◆ toDVect()

virtual DVect itasca::IParse::toDVect ( IMark * p = 0) const
pure virtual

Checks if token is a DVect. If successful, returns a DVect and increment the IParse::IMark position indicator two steps.
Throws an Exception if the token was unable to be interpreted

◆ toDVect2()

virtual DVect2 itasca::IParse::toDVect2 ( IMark * p = nullptr) const
pure virtual

Checks if token is a DVect2. If successful, returns a DVect2 and increment the IParse::IMark position indicator two steps.
Throws an Exception if the token was unable to be interpreted

◆ toDVect3()

virtual DVect3 itasca::IParse::toDVect3 ( IMark * p = nullptr) const
pure virtual

Checks if token is a DVect3. If successful, returns a DVect3 and increment the IParse::IMark position indicator three steps.
Throws an Exception if the token was unable to be interpreted

◆ toFilename()

virtual IString itasca::IParse::toFilename ( const IString & def_ext = {},
bool openForRead = false,
IMark * p = nullptr ) const
pure virtual

Checks if token is a valid file path. Throws an Exception if the token was unable to be interpreted

See also
isFilename()

◆ toInt()

virtual int itasca::IParse::toInt ( IMark * p = nullptr,
int iMin = limits< int >::min(),
int iMax = limits< int >::max() ) const
pure virtual

Checks if token is a 32-bit integer. If successful, returns a int and increment the IParse::IMark position indicator.
Throws an Exception if the token was unable to be interpreted

◆ toKeyword()

virtual uint32 itasca::IParse::toKeyword ( const IString & key,
IMark * p = nullptr ) const
pure virtual

Given a string that contains a list of comma delimited keywords, checks if the token is a valid word in the list. If successful, returns a position of the keyword in the list and increment the IParse::IMark position indicator. The position in the list starts at 1.
Throws an Exception if the token was unable to be interpreted

◆ toLong()

virtual qint64 itasca::IParse::toLong ( IMark * p = nullptr,
qint64 lMin = limits< qint64 >::min(),
qint64 lMax = limits< qint64 >::max() ) const
pure virtual

Checks if token is a 64-bit integer. If successful, returns a 64-bit integer and increment the IParse::IMark position indicator.
Throws an Exception if the token was unable to be interpreted

◆ toString()

virtual IString itasca::IParse::toString ( IMark * p = nullptr) const
pure virtual

Checks if token is a string. If successful, returns a QString and increment the IParse::IMark position indicator.
Throws an Exception if the token was unable to be interpreted

◆ toSymTensor()

virtual SymTensor itasca::IParse::toSymTensor ( IMark * p = nullptr) const
pure virtual

Checks if token is a SymTensor. If successful, returns a SymTensor and increments the IParse::IMark position indicator six steps.
Throws an Exception if the token was unable to be interpreted

◆ toUInt()

virtual uint32 itasca::IParse::toUInt ( IMark * p = nullptr,
uint32 uMin = 0,
uint32 uMax = limits< uint32 >::max() ) const
pure virtual

Checks if token is a uint32. If successful, returns a uint32 and increment the IParse::IMark position indicator.
Throws an Exception if the token was unable to be interpreted

◆ toULong()

virtual uint64 itasca::IParse::toULong ( IMark * p = nullptr,
uint64 uMin = 0,
uint64 uMax = limits< uint64 >::max() ) const
pure virtual

Checks if token is a 64-bit unsigned integer. If successful, returns a uint64 and increment the IParse::IMark position indicator.
Throws an Exception if the token was unable to be interpreted

◆ toVariant() [1/2]

virtual QVariant itasca::IParse::toVariant ( IMark * p = nullptr) const
pure virtual

Checks if token is a QVariant. Returns a QVariant and increment the IParse::IMark position indicator.
Checks in the following order: DVect3,DVect2,double,int,bool,QString
Throws an Exception if the token was unable to be interpreted

◆ toVariant() [2/2]

virtual QVariant itasca::IParse::toVariant ( int type,
IMark * p = nullptr,
uint32 len = 0 ) const
pure virtual

Checks if token is a DVect. If successful, returns a DVect and increment the IParse::IMark position indicator two or three steps, dependig if code is 2D or 3D.
Throws an Exception if the token was unable to be interpreted Checks if token is a DAVect. If successful, returns a DAVect and increment the IParse::IMark position indicator two or three steps, dependig if code is 2D or 3D.
Throws an Exception if the token was unable to be interpreted Checks if token is a QVariant of the given QVariant::type. Returns a QVariant and increment the IParse::IMark position indicator.
Throws an Exception if the token was unable to be interpreted


The documentation for this class was generated from the following file: