CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ShaderCompiler::BasicTokenString< TokenType, TokenOfInterestFunctor > Class Template Reference

Token string template class. More...

#include <CeresEngine/Material/ShaderCompiler/AST/TokenString.hpp>

Classes

class  ConstIterator
 

Public Types

using ValueType = TokenType
 
using Container = Vector< TokenType >
 

Public Member Functions

 BasicTokenString ()=default
 
 BasicTokenString (const BasicTokenString &)=default
 
BasicTokenString & operator= (const BasicTokenString &)=default
 
 BasicTokenString (const TokenType &token)
 
ConstIterator begin () const
 
ConstIterator end () const
 
void pushBack (const TokenType &token)
 
void pushBack (const BasicTokenString &tokenString)
 
void popFront ()
 
void popBack ()
 
const ValueType & front () const
 
const ValueType & back () const
 
bool empty () const
 
const Container & getTokens () const
 
Container & getTokens ()
 
void trimFront ()
 
void trimBack ()
 

Private Attributes

Container mTokens
 

Detailed Description

template<typename TokenType, typename TokenOfInterestFunctor>
class CeresEngine::ShaderCompiler::BasicTokenString< TokenType, TokenOfInterestFunctor >

Token string template class.

This is a helper class to iterate only over a list of tokens that are of interest (e.g. to ignore white spaces). This class is mainly used by the preprocessor, because the preprocessor must keep all white spaces and new-lines for its output. 'TokenType' should be either from type 'Token*' or 'TokenPtr'. 'TokenOfInterestFunctor' must be a type with a static function of the following interface: "bool isOfInterest(const TokenType& token)"

Member Typedef Documentation

◆ Container

◆ ValueType

Constructor & Destructor Documentation

◆ BasicTokenString() [1/3]

◆ BasicTokenString() [2/3]

◆ BasicTokenString() [3/3]

Member Function Documentation

◆ back()

◆ begin()

◆ empty()

◆ end()

◆ front()

◆ getTokens() [1/2]

◆ getTokens() [2/2]

◆ operator=()

◆ popBack()

◆ popFront()

◆ pushBack() [1/2]

◆ pushBack() [2/2]

◆ trimBack()

◆ trimFront()

Member Data Documentation

◆ mTokens


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