FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

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

#include <OpenFOAM/token.H>


Detailed Description

A token holds items read from Istream.

Source files

Definition at line 68 of file token.H.

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 word &  wordToken () const
bool  isString () const
const string &  stringToken () 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 compound &  compoundToken () const
compound &  transferCompoundToken ()
label  lineNumber () const
label &  lineNumber ()
void  setBad ()
 Set bad.
InfoProxy< token >  info () 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

Istream &  operator>> (Istream &, token &)
Ostream &  operator<< (Ostream &, const token &)
Ostream &  operator<< (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<<(), ITstream::read(), ISstream::read(), and IPstream::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

Static undefined token.

Definition at line 240 of file token.H.

Referenced by ITstream::read().

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:
  • src/OpenFOAM/db/IOstreams/token/token.H
  • src/OpenFOAM/db/IOstreams/token/token.C
  • src/OpenFOAM/db/IOstreams/token/tokenI.H
  • src/OpenFOAM/db/IOstreams/token/tokenIO.C