FreeFOAM The Cross-Platform CFD Toolkit
token Class Reference

A token holds items read from Istream. More...

#include <OpenFOAM/token.H>


Detailed Description

+ Collaboration diagram for token:

List of all members.

Classes

class  Compound
 A templated class for holding compound tokens. More...
class  compound
 Abstract base class for complex tokens. More...

Public Types

enum  tokenType {
  UNDEFINED, PUNCTUATION, WORD, STRING,
  LABEL, FLOAT_SCALAR, DOUBLE_SCALAR, COMPOUND,
  ERROR
}
 Enumeration defining the types of token. More...
enum  punctuationToken {
  NULL_TOKEN = '\0', SPACE = ' ', TAB = '\t', NL = '\n',
  END_STATEMENT = ';', BEGIN_LIST = '(', END_LIST = ')', BEGIN_SQR = '[',
  END_SQR = ']', BEGIN_BLOCK = '{', END_BLOCK = '}', COLON = ':',
  COMMA = ',', BEGIN_STRING = '"', END_STRING = BEGIN_STRING, ASSIGN = '=',
  ADD = '+', SUBTRACT = '-', MULTIPLY = '*', DIVIDE = '/'
}
 Standard punctuation tokens. More...

Public Member Functions

 token ()
 Construct null.
 token (const token &)
 Construct as copy.
 token (punctuationToken, label lineNumber=0)
 Construct punctuation character token.
 token (const word &, label lineNumber=0)
 Construct word token.
 token (const string &, label lineNumber=0)
 Construct string token.
 token (const label, label lineNumber=0)
 Construct label token.
 token (const floatScalar, label lineNumber=0)
 Construct floatScalar token.
 token (const doubleScalar, label lineNumber=0)
 Construct doubleScalar token.
 token (Istream &)
 Construct from Istream.
 ~token ()
tokenType type () const
bool good () const
bool undefined () const
bool error () const
bool isPunctuation () const
punctuationToken pToken () const
bool isWord () const
const wordwordToken () const
bool isString () const
const stringstringToken () const
bool isLabel () const
label labelToken () const
bool isFloatScalar () const
floatScalar floatScalarToken () const
bool isDoubleScalar () const
doubleScalar doubleScalarToken () const
bool isScalar () const
scalar scalarToken () const
bool isNumber () const
scalar number () const
bool isCompound () const
const compoundcompoundToken () const
compoundtransferCompoundToken ()
label lineNumber () const
label & lineNumber ()
void setBad ()
 Set bad.
InfoProxy< tokeninfo () const
 Return info proxy.
void operator= (const token &)
void operator= (const punctuationToken)
void operator= (word *)
void operator= (const word &)
void operator= (string *)
void operator= (const string &)
void operator= (const label)
void operator= (const floatScalar)
void operator= (const doubleScalar)
void operator= (compound *)
bool operator== (const token &) const
bool operator== (const punctuationToken) const
bool operator== (const word &) const
bool operator== (const string &) const
bool operator== (const label) const
bool operator== (const floatScalar) const
bool operator== (const doubleScalar) const
bool operator!= (const token &) const
bool operator!= (const punctuationToken) const
bool operator!= (const word &) const
bool operator!= (const string &) const
bool operator!= (const label) const
bool operator!= (const floatScalar) const
bool operator!= (const doubleScalar) const

Static Public Attributes

static token undefinedToken
 Static undefined token.
static const char *const typeName = "token"

Friends

Istreamoperator>> (Istream &, token &)
Ostreamoperator<< (Ostream &, const token &)
Ostreamoperator<< (Ostream &, const punctuationToken &)
ostream & operator<< (ostream &, const punctuationToken &)
ostream & operator<< (ostream &, const InfoProxy< token > &)

Member Enumeration Documentation

enum tokenType

Enumeration defining the types of token.

Enumerator:
UNDEFINED 
PUNCTUATION 
WORD 
STRING 
LABEL 
FLOAT_SCALAR 
DOUBLE_SCALAR 
COMPOUND 
ERROR 

Definition at line 74 of file token.H.

Standard punctuation tokens.

Enumerator:
NULL_TOKEN 
SPACE 
TAB 
NL 
END_STATEMENT 
BEGIN_LIST 
END_LIST 
BEGIN_SQR 
END_SQR 
BEGIN_BLOCK 
END_BLOCK 
COLON 
COMMA 
BEGIN_STRING 
END_STRING 
ASSIGN 
ADD 
SUBTRACT 
MULTIPLY 
DIVIDE 

Definition at line 91 of file token.H.


Constructor & Destructor Documentation

token ( )
inline

Construct null.

Definition at line 65 of file tokenI.H.

token ( punctuationToken  p,
label  lineNumber = 0 
)
inline

Construct punctuation character token.

Definition at line 117 of file tokenI.H.

token ( const word w,
label  lineNumber = 0 
)
inline

Construct word token.

Definition at line 125 of file tokenI.H.

token ( const string s,
label  lineNumber = 0 
)
inline

Construct string token.

Definition at line 133 of file tokenI.H.

token ( const label  l,
label  lineNumber = 0 
)
inline

Construct label token.

Definition at line 141 of file tokenI.H.

token ( const floatScalar  s,
label  lineNumber = 0 
)
inline

Construct floatScalar token.

Definition at line 149 of file tokenI.H.

token ( const doubleScalar  s,
label  lineNumber = 0 
)
inline

Construct doubleScalar token.

Definition at line 157 of file tokenI.H.

token ( Istream is)

Construct from Istream.

Definition at line 37 of file tokenIO.C.

References Istream::read().

~token ( )
inline

Definition at line 168 of file tokenI.H.


Member Function Documentation

token::tokenType type ( ) const
inline

Definition at line 176 of file tokenI.H.

Referenced by Foam::operator<<().

bool good ( ) const
inline

Definition at line 181 of file tokenI.H.

References token::ERROR, and token::UNDEFINED.

Referenced by Foam::operator>>(), and primitiveEntry::read().

bool undefined ( ) const
inline

Definition at line 186 of file tokenI.H.

References token::UNDEFINED.

bool error ( ) const
inline

Definition at line 191 of file tokenI.H.

References token::ERROR.

bool isString ( ) const
inline

Definition at line 232 of file tokenI.H.

References token::STRING.

Referenced by Foam::operator>>().

const string & stringToken ( ) const
inline

Definition at line 237 of file tokenI.H.

References string::null, token::STRING, and token::stringTokenPtr_.

Referenced by Foam::operator<<(), token::operator==(), and Foam::operator>>().

bool isFloatScalar ( ) const
inline

Definition at line 268 of file tokenI.H.

References token::FLOAT_SCALAR.

floatScalar floatScalarToken ( ) const
inline

Definition at line 273 of file tokenI.H.

References token::FLOAT_SCALAR, and token::floatScalarToken_.

Referenced by Foam::operator<<().

bool isDoubleScalar ( ) const
inline

Definition at line 287 of file tokenI.H.

References token::DOUBLE_SCALAR.

doubleScalar doubleScalarToken ( ) const
inline

Definition at line 292 of file tokenI.H.

References token::DOUBLE_SCALAR, and token::doubleScalarToken_.

Referenced by Foam::operator<<().

bool isScalar ( ) const
inline

Definition at line 306 of file tokenI.H.

References token::DOUBLE_SCALAR, and token::FLOAT_SCALAR.

Referenced by token::isNumber(), and token::number().

scalar scalarToken ( ) const
inline
bool isNumber ( ) const
inline
bool isCompound ( ) const
inline
label lineNumber ( ) const
inline

Definition at line 369 of file tokenI.H.

Referenced by Foam::operator<<(), ISstream::read(), IPstream::read(), and ITstream::read().

label & lineNumber ( )
inline

Definition at line 374 of file tokenI.H.

void setBad ( )
inline

Set bad.

Definition at line 380 of file tokenI.H.

References token::ERROR.

Referenced by ISstream::read(), and IPstream::read().

void operator= ( const punctuationToken  p)
inline

Definition at line 435 of file tokenI.H.

References p, token::PUNCTUATION, and token::punctuationToken_.

void operator= ( word wPtr)
inline

Definition at line 442 of file tokenI.H.

References token::WORD, and token::wordTokenPtr_.

void operator= ( const word w)
inline

Definition at line 449 of file tokenI.H.

References token::operator=().

void operator= ( string sPtr)
inline

Definition at line 454 of file tokenI.H.

References token::STRING, and token::stringTokenPtr_.

void operator= ( const string s)
inline

Definition at line 461 of file tokenI.H.

References token::operator=().

void operator= ( const label  l)
inline

Definition at line 466 of file tokenI.H.

References token::LABEL, and token::labelToken_.

void operator= ( const floatScalar  s)
inline

Definition at line 473 of file tokenI.H.

References token::FLOAT_SCALAR, and token::floatScalarToken_.

void operator= ( const doubleScalar  s)
inline

Definition at line 480 of file tokenI.H.

References token::DOUBLE_SCALAR, and token::doubleScalarToken_.

void operator= ( token::compound cPtr)
inline

Definition at line 487 of file tokenI.H.

References token::COMPOUND, and token::compoundTokenPtr_.

bool operator== ( const punctuationToken  p) const
inline

Definition at line 535 of file tokenI.H.

References token::PUNCTUATION, and token::punctuationToken_.

bool operator== ( const word w) const
inline

Definition at line 540 of file tokenI.H.

References token::WORD, and token::wordToken().

bool operator== ( const string s) const
inline

Definition at line 545 of file tokenI.H.

References token::STRING, and token::stringToken().

bool operator== ( const label  l) const
inline

Definition at line 550 of file tokenI.H.

References token::LABEL, and token::labelToken_.

bool operator== ( const floatScalar  s) const
inline

Definition at line 555 of file tokenI.H.

References Foam::equal(), token::FLOAT_SCALAR, and token::floatScalarToken_.

bool operator== ( const doubleScalar  s) const
inline

Definition at line 560 of file tokenI.H.

References token::DOUBLE_SCALAR, token::doubleScalarToken_, and Foam::equal().

bool operator!= ( const token t) const
inline

Definition at line 565 of file tokenI.H.

References token::operator==().

bool operator!= ( const punctuationToken  p) const
inline

Definition at line 570 of file tokenI.H.

References token::operator==().

bool operator!= ( const word w) const
inline

Definition at line 575 of file tokenI.H.

References token::operator==().

bool operator!= ( const string s) const
inline

Definition at line 580 of file tokenI.H.

References token::operator==().

bool operator!= ( const label  l) const
inline

Definition at line 595 of file tokenI.H.

References token::operator==().

bool operator!= ( const floatScalar  s) const
inline

Definition at line 585 of file tokenI.H.

References token::operator==().

bool operator!= ( const doubleScalar  s) const
inline

Definition at line 590 of file tokenI.H.

References token::operator==().


Friends And Related Function Documentation

Istream& operator>> ( Istream ,
token  
)
friend
Ostream& operator<< ( Ostream ,
const token  
)
friend
Ostream& operator<< ( Ostream ,
const punctuationToken  
)
friend
ostream& operator<< ( ostream &  ,
const punctuationToken  
)
friend
ostream& operator<< ( ostream &  ,
const InfoProxy< token > &   
)
friend

Member Data Documentation

Foam::token undefinedToken
static

Static undefined token.

Definition at line 240 of file token.H.

Referenced by ITstream::read().

punctuationToken punctuationToken_
word* wordTokenPtr_
string* stringTokenPtr_
label labelToken_
compound* compoundTokenPtr_
mutable
const char *const typeName = "token"
static

Definition at line 279 of file token.H.


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