OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::CPreprocessor::Token Class Reference

A input token. More...

Public Types

enum  Kind {
  TK_EOS, TK_ERROR, TK_WHITESPACE, TK_NEWLINE,
  TK_LINECONT, TK_NUMBER, TK_KEYWORD, TK_PUNCTUATION,
  TK_DIRECTIVE, TK_STRING, TK_COMMENT, TK_LINECOMMENT,
  TK_TEXT, TK_EOS, TK_ERROR, TK_WHITESPACE,
  TK_NEWLINE, TK_LINECONT, TK_NUMBER, TK_KEYWORD,
  TK_PUNCTUATION, TK_DIRECTIVE, TK_STRING, TK_COMMENT,
  TK_LINECOMMENT, TK_TEXT, TK_EOS, TK_ERROR,
  TK_WHITESPACE, TK_NEWLINE, TK_LINECONT, TK_NUMBER,
  TK_KEYWORD, TK_PUNCTUATION, TK_DIRECTIVE, TK_STRING,
  TK_COMMENT, TK_LINECOMMENT, TK_TEXT
}
 
enum  Kind {
  TK_EOS, TK_ERROR, TK_WHITESPACE, TK_NEWLINE,
  TK_LINECONT, TK_NUMBER, TK_KEYWORD, TK_PUNCTUATION,
  TK_DIRECTIVE, TK_STRING, TK_COMMENT, TK_LINECOMMENT,
  TK_TEXT, TK_EOS, TK_ERROR, TK_WHITESPACE,
  TK_NEWLINE, TK_LINECONT, TK_NUMBER, TK_KEYWORD,
  TK_PUNCTUATION, TK_DIRECTIVE, TK_STRING, TK_COMMENT,
  TK_LINECOMMENT, TK_TEXT, TK_EOS, TK_ERROR,
  TK_WHITESPACE, TK_NEWLINE, TK_LINECONT, TK_NUMBER,
  TK_KEYWORD, TK_PUNCTUATION, TK_DIRECTIVE, TK_STRING,
  TK_COMMENT, TK_LINECOMMENT, TK_TEXT
}
 
enum  Kind {
  TK_EOS, TK_ERROR, TK_WHITESPACE, TK_NEWLINE,
  TK_LINECONT, TK_NUMBER, TK_KEYWORD, TK_PUNCTUATION,
  TK_DIRECTIVE, TK_STRING, TK_COMMENT, TK_LINECOMMENT,
  TK_TEXT, TK_EOS, TK_ERROR, TK_WHITESPACE,
  TK_NEWLINE, TK_LINECONT, TK_NUMBER, TK_KEYWORD,
  TK_PUNCTUATION, TK_DIRECTIVE, TK_STRING, TK_COMMENT,
  TK_LINECOMMENT, TK_TEXT, TK_EOS, TK_ERROR,
  TK_WHITESPACE, TK_NEWLINE, TK_LINECONT, TK_NUMBER,
  TK_KEYWORD, TK_PUNCTUATION, TK_DIRECTIVE, TK_STRING,
  TK_COMMENT, TK_LINECOMMENT, TK_TEXT
}
 

Public Member Functions

 Token ()
 
 Token ()
 
 Token ()
 
 Token (Kind iType)
 
 Token (Kind iType)
 
 Token (Kind iType)
 
 Token (Kind iType, const char *iString, size_t iLength)
 
 Token (Kind iType, const char *iString, size_t iLength)
 
 Token (Kind iType, const char *iString, size_t iLength)
 
 Token (const Token &iOther)
 
 Token (const Token &iOther)
 
 Token (const Token &iOther)
 
 ~Token ()
 
 ~Token ()
 
 ~Token ()
 
void Append (const char *iString, size_t iLength)
 Append a string to this token. More...
 
void Append (const char *iString, size_t iLength)
 Append a string to this token. More...
 
void Append (const char *iString, size_t iLength)
 Append a string to this token. More...
 
void Append (const Token &iOther)
 Append a token to this token. More...
 
void Append (const Token &iOther)
 Append a token to this token. More...
 
void Append (const Token &iOther)
 Append a token to this token. More...
 
void AppendNL (int iCount)
 Append given number of newlines to this token. More...
 
void AppendNL (int iCount)
 Append given number of newlines to this token. More...
 
void AppendNL (int iCount)
 Append given number of newlines to this token. More...
 
int CountNL ()
 Count number of newlines in this token. More...
 
int CountNL ()
 Count number of newlines in this token. More...
 
int CountNL ()
 Count number of newlines in this token. More...
 
bool GetValue (long &oValue) const
 Get the numeric value of the token. More...
 
bool GetValue (long &oValue) const
 Get the numeric value of the token. More...
 
bool GetValue (long &oValue) const
 Get the numeric value of the token. More...
 
Tokenoperator= (const Token &iOther)
 Assignment operator. More...
 
Tokenoperator= (const Token &iOther)
 Assignment operator. More...
 
Tokenoperator= (const Token &iOther)
 Assignment operator. More...
 
bool operator== (const Token &iOther)
 Test two tokens for equality. More...
 
bool operator== (const Token &iOther)
 Test two tokens for equality. More...
 
bool operator== (const Token &iOther)
 Test two tokens for equality. More...
 
void SetValue (long iValue)
 Set the numeric value of the token. More...
 
void SetValue (long iValue)
 Set the numeric value of the token. More...
 
void SetValue (long iValue)
 Set the numeric value of the token. More...
 

Public Attributes

union {
   char *   Buffer
 A memory-allocated string. More...
 
   const char *   String
 A pointer somewhere into the input buffer. More...
 
}; 
 
union {
   char *   Buffer
 A memory-allocated string. More...
 
   const char *   String
 A pointer somewhere into the input buffer. More...
 
}; 
 
union {
   char *   Buffer
 A memory-allocated string. More...
 
   const char *   String
 A pointer somewhere into the input buffer. More...
 
}; 
 
size_t Allocated
 True if string was allocated (and must be freed) More...
 
size_t Length
 Token length in bytes. More...
 
Kind Type
 Token type. More...
 

Detailed Description

A input token.

For performance reasons most tokens will point to portions of the input stream, so no unneeded memory allocation is done. However, in some cases we must allocate different memory for token storage, in this case this is signalled by setting the Allocated member to non-zero in which case the destructor will know that it must free memory on object destruction.

Again for performance reasons we use malloc/realloc/free here because C++-style new[] lacks the realloc() counterpart.

Definition at line 76 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Member Enumeration Documentation

Enumerator
TK_EOS 
TK_ERROR 
TK_WHITESPACE 
TK_NEWLINE 
TK_LINECONT 
TK_NUMBER 
TK_KEYWORD 
TK_PUNCTUATION 
TK_DIRECTIVE 
TK_STRING 
TK_COMMENT 
TK_LINECOMMENT 
TK_TEXT 
TK_EOS 
TK_ERROR 
TK_WHITESPACE 
TK_NEWLINE 
TK_LINECONT 
TK_NUMBER 
TK_KEYWORD 
TK_PUNCTUATION 
TK_DIRECTIVE 
TK_STRING 
TK_COMMENT 
TK_LINECOMMENT 
TK_TEXT 
TK_EOS 
TK_ERROR 
TK_WHITESPACE 
TK_NEWLINE 
TK_LINECONT 
TK_NUMBER 
TK_KEYWORD 
TK_PUNCTUATION 
TK_DIRECTIVE 
TK_STRING 
TK_COMMENT 
TK_LINECOMMENT 
TK_TEXT 

Definition at line 79 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Enumerator
TK_EOS 
TK_ERROR 
TK_WHITESPACE 
TK_NEWLINE 
TK_LINECONT 
TK_NUMBER 
TK_KEYWORD 
TK_PUNCTUATION 
TK_DIRECTIVE 
TK_STRING 
TK_COMMENT 
TK_LINECOMMENT 
TK_TEXT 
TK_EOS 
TK_ERROR 
TK_WHITESPACE 
TK_NEWLINE 
TK_LINECONT 
TK_NUMBER 
TK_KEYWORD 
TK_PUNCTUATION 
TK_DIRECTIVE 
TK_STRING 
TK_COMMENT 
TK_LINECOMMENT 
TK_TEXT 
TK_EOS 
TK_ERROR 
TK_WHITESPACE 
TK_NEWLINE 
TK_LINECONT 
TK_NUMBER 
TK_KEYWORD 
TK_PUNCTUATION 
TK_DIRECTIVE 
TK_STRING 
TK_COMMENT 
TK_LINECOMMENT 
TK_TEXT 

Definition at line 79 of file OgreGLSLESPreprocessor.h.

Enumerator
TK_EOS 
TK_ERROR 
TK_WHITESPACE 
TK_NEWLINE 
TK_LINECONT 
TK_NUMBER 
TK_KEYWORD 
TK_PUNCTUATION 
TK_DIRECTIVE 
TK_STRING 
TK_COMMENT 
TK_LINECOMMENT 
TK_TEXT 
TK_EOS 
TK_ERROR 
TK_WHITESPACE 
TK_NEWLINE 
TK_LINECONT 
TK_NUMBER 
TK_KEYWORD 
TK_PUNCTUATION 
TK_DIRECTIVE 
TK_STRING 
TK_COMMENT 
TK_LINECOMMENT 
TK_TEXT 
TK_EOS 
TK_ERROR 
TK_WHITESPACE 
TK_NEWLINE 
TK_LINECONT 
TK_NUMBER 
TK_KEYWORD 
TK_PUNCTUATION 
TK_DIRECTIVE 
TK_STRING 
TK_COMMENT 
TK_LINECOMMENT 
TK_TEXT 

Definition at line 79 of file Plus/src/GLSL/include/OgreGLSLPreprocessor.h.

Constructor & Destructor Documentation

Ogre::CPreprocessor::Token::Token ( )
inline

Definition at line 110 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Ogre::CPreprocessor::Token::Token ( Kind  iType)
inline

Definition at line 113 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Ogre::CPreprocessor::Token::Token ( Kind  iType,
const char *  iString,
size_t  iLength 
)
inline

Definition at line 116 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Ogre::CPreprocessor::Token::Token ( const Token iOther)
inline

Definition at line 120 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

References Allocated, Length, String, and Type.

Ogre::CPreprocessor::Token::~Token ( )
inline

Definition at line 129 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

References Allocated, and Buffer.

Ogre::CPreprocessor::Token::Token ( )
inline
Ogre::CPreprocessor::Token::Token ( Kind  iType)
inline
Ogre::CPreprocessor::Token::Token ( Kind  iType,
const char *  iString,
size_t  iLength 
)
inline
Ogre::CPreprocessor::Token::Token ( const Token iOther)
inline

Definition at line 120 of file Plus/src/GLSL/include/OgreGLSLPreprocessor.h.

References Allocated, Length, and Type.

Ogre::CPreprocessor::Token::~Token ( )
inline

Definition at line 129 of file Plus/src/GLSL/include/OgreGLSLPreprocessor.h.

References Allocated, and Buffer.

Ogre::CPreprocessor::Token::Token ( )
inline

Definition at line 110 of file OgreGLSLESPreprocessor.h.

Ogre::CPreprocessor::Token::Token ( Kind  iType)
inline

Definition at line 113 of file OgreGLSLESPreprocessor.h.

Ogre::CPreprocessor::Token::Token ( Kind  iType,
const char *  iString,
size_t  iLength 
)
inline

Definition at line 116 of file OgreGLSLESPreprocessor.h.

Ogre::CPreprocessor::Token::Token ( const Token iOther)
inline

Definition at line 120 of file OgreGLSLESPreprocessor.h.

References Allocated, Length, and Type.

Ogre::CPreprocessor::Token::~Token ( )
inline

Definition at line 129 of file OgreGLSLESPreprocessor.h.

References Allocated, and Buffer.

Member Function Documentation

void Ogre::CPreprocessor::Token::Append ( const char *  iString,
size_t  iLength 
)

Append a string to this token.

void Ogre::CPreprocessor::Token::Append ( const char *  iString,
size_t  iLength 
)

Append a string to this token.

void Ogre::CPreprocessor::Token::Append ( const char *  iString,
size_t  iLength 
)

Append a string to this token.

void Ogre::CPreprocessor::Token::Append ( const Token iOther)

Append a token to this token.

void Ogre::CPreprocessor::Token::Append ( const Token iOther)

Append a token to this token.

void Ogre::CPreprocessor::Token::Append ( const Token iOther)

Append a token to this token.

void Ogre::CPreprocessor::Token::AppendNL ( int  iCount)

Append given number of newlines to this token.

void Ogre::CPreprocessor::Token::AppendNL ( int  iCount)

Append given number of newlines to this token.

void Ogre::CPreprocessor::Token::AppendNL ( int  iCount)

Append given number of newlines to this token.

int Ogre::CPreprocessor::Token::CountNL ( )

Count number of newlines in this token.

int Ogre::CPreprocessor::Token::CountNL ( )

Count number of newlines in this token.

int Ogre::CPreprocessor::Token::CountNL ( )

Count number of newlines in this token.

bool Ogre::CPreprocessor::Token::GetValue ( long &  oValue) const

Get the numeric value of the token.

bool Ogre::CPreprocessor::Token::GetValue ( long &  oValue) const

Get the numeric value of the token.

bool Ogre::CPreprocessor::Token::GetValue ( long &  oValue) const

Get the numeric value of the token.

Token& Ogre::CPreprocessor::Token::operator= ( const Token iOther)
inline

Assignment operator.

Definition at line 133 of file OgreGLSLESPreprocessor.h.

References Allocated, Buffer, Length, and Type.

Token& Ogre::CPreprocessor::Token::operator= ( const Token iOther)
inline

Assignment operator.

Definition at line 133 of file Plus/src/GLSL/include/OgreGLSLPreprocessor.h.

References Allocated, Buffer, Length, and Type.

Token& Ogre::CPreprocessor::Token::operator= ( const Token iOther)
inline

Assignment operator.

Definition at line 133 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

References Allocated, Buffer, Length, String, and Type.

bool Ogre::CPreprocessor::Token::operator== ( const Token iOther)
inline

Test two tokens for equality.

Definition at line 163 of file Plus/src/GLSL/include/OgreGLSLPreprocessor.h.

References Length.

bool Ogre::CPreprocessor::Token::operator== ( const Token iOther)
inline

Test two tokens for equality.

Definition at line 163 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

References Length, and String.

bool Ogre::CPreprocessor::Token::operator== ( const Token iOther)
inline

Test two tokens for equality.

Definition at line 163 of file OgreGLSLESPreprocessor.h.

References Length.

void Ogre::CPreprocessor::Token::SetValue ( long  iValue)

Set the numeric value of the token.

void Ogre::CPreprocessor::Token::SetValue ( long  iValue)

Set the numeric value of the token.

void Ogre::CPreprocessor::Token::SetValue ( long  iValue)

Set the numeric value of the token.

Member Data Documentation

union { ... }
union { ... }
union { ... }
size_t Ogre::CPreprocessor::Token::Allocated
mutable

True if string was allocated (and must be freed)

Definition at line 99 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Referenced by operator=(), Token(), and ~Token().

char* Ogre::CPreprocessor::Token::Buffer

A memory-allocated string.

Definition at line 105 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Referenced by operator=(), and ~Token().

size_t Ogre::CPreprocessor::Token::Length

Token length in bytes.

Definition at line 108 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Referenced by operator=(), operator==(), and Token().

const char* Ogre::CPreprocessor::Token::String

A pointer somewhere into the input buffer.

Definition at line 103 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Referenced by operator=(), operator==(), and Token().

Kind Ogre::CPreprocessor::Token::Type

Token type.

Definition at line 97 of file Plus/include/GLSL/OgreGLSLPreprocessor.h.

Referenced by operator=(), and Token().


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