18#ifndef INCLUDED_PREPROCESSORWRAPPER
19#define INCLUDED_PREPROCESSORWRAPPER
25#include <unordered_map>
40 void AddDefine(
const char* name,
const char* value);
Convenience wrapper around CPreprocessor.
Definition: PreprocessorWrapper.h:33
void AddDefines(const CShaderDefines &defines)
Definition: PreprocessorWrapper.cpp:191
CPreprocessorWrapper()
Definition: PreprocessorWrapper.cpp:175
CStr Preprocess(const CStr &input)
Definition: PreprocessorWrapper.cpp:252
bool TestConditional(const CStr &expr)
Definition: PreprocessorWrapper.cpp:198
std::unordered_map< CStr, CStr > m_IncludeCache
Definition: PreprocessorWrapper.h:59
std::function< bool(const CStr &, CStr &out)> IncludeRetrieverCallback
Definition: PreprocessorWrapper.h:35
void AddDefine(const char *name, const char *value)
Definition: PreprocessorWrapper.cpp:186
IncludeRetrieverCallback m_IncludeCallback
Definition: PreprocessorWrapper.h:58
Ogre::CPreprocessor m_Preprocessor
Definition: PreprocessorWrapper.h:57
CStr ResolveIncludes(const CStr &source)
Definition: PreprocessorWrapper.cpp:229
static void PyrogenesisShaderError(int iLine, const char *iError, const Ogre::CPreprocessor::Token *iToken)
Definition: PreprocessorWrapper.cpp:167
Represents a mapping of name strings to value strings, for use with #if and #ifdef and similar condit...
Definition: ShaderDefines.h:147
A input token.
Definition: OgreGLSLPreprocessor.h:85
This is a simplistic C/C++-like preprocessor.
Definition: OgreGLSLPreprocessor.h:69
static void out(const wchar_t *fmt,...)
Definition: wdbg_sym.cpp:407