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
 
BasicTokenStringoperator= (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 ValueTypefront () const
 
const ValueTypeback () const
 
bool empty () const
 
const ContainergetTokens () const
 
ContainergetTokens ()
 
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: