Pyrogenesis  trunk
Public Member Functions | Public Attributes | List of all members
Ogre::CPreprocessor::Macro Class Reference

A macro definition. More...

#include <OgreGLSLPreprocessor.h>

Collaboration diagram for Ogre::CPreprocessor::Macro:
Collaboration graph
[legend]

Public Member Functions

 Macro (const Token &iName)
 
Token Expand (const std::vector< Token > &iArgs, std::forward_list< Macro > &iMacros)
 Expand the macro value (will not work for functions) More...
 

Public Attributes

Token Name
 Macro name. More...
 
std::vector< TokenArgs
 The names of the arguments. More...
 
Token Value
 The macro value. More...
 
Token Body
 Unparsed macro body (keeps the whole raw unparsed macro body) More...
 
Token(* ExpandFunc )(CPreprocessor *iParent, const std::vector< Token > &iArgs)
 A pointer to function implementation (if macro is really a func) More...
 
bool Expanding
 true if macro expansion is in progress More...
 

Detailed Description

A macro definition.

Constructor & Destructor Documentation

◆ Macro()

Ogre::CPreprocessor::Macro::Macro ( const Token iName)
inline

Member Function Documentation

◆ Expand()

CPreprocessor::Token Ogre::CPreprocessor::Macro::Expand ( const std::vector< Token > &  iArgs,
std::forward_list< Macro > &  iMacros 
)

Expand the macro value (will not work for functions)

Member Data Documentation

◆ Args

std::vector<Token> Ogre::CPreprocessor::Macro::Args

The names of the arguments.

◆ Body

Token Ogre::CPreprocessor::Macro::Body

Unparsed macro body (keeps the whole raw unparsed macro body)

◆ ExpandFunc

Token(* Ogre::CPreprocessor::Macro::ExpandFunc) (CPreprocessor *iParent, const std::vector< Token > &iArgs)

A pointer to function implementation (if macro is really a func)

◆ Expanding

bool Ogre::CPreprocessor::Macro::Expanding

true if macro expansion is in progress

◆ Name

Token Ogre::CPreprocessor::Macro::Name

Macro name.

◆ Value

Token Ogre::CPreprocessor::Macro::Value

The macro value.


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