28#ifndef __ShaderProgramWriterManager_H__
29#define __ShaderProgramWriterManager_H__
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Interface definition for factories of ShaderProgramWriter.
virtual const String & getTargetLanguage(void) const =0
Get the name of the language this factory creates programs for.
virtual ProgramWriter * create(void)=0
Create writer instance.
virtual ~ProgramWriterFactory()
map< String, ProgramWriterFactory * >::type FactoryMap
void addFactory(ProgramWriterFactory *factory)
Add a new factory object for high-level programs of a given language.
static ProgramWriterManager & getSingleton()
Override standard Singleton retrieval.
FactoryMap mFactories
Factories capable of creating ShaderProgramWriterFactory instances.
ProgramWriter * createProgramWriter(const String &language)
Create a new, unloaded HighLevelGpuProgram.
void removeFactory(ProgramWriterFactory *factory)
Remove a factory object for high-level programs of a given language.
bool isLanguageSupported(const String &lang)
Returns whether a given high-level language is supported.
static ProgramWriterManager * getSingletonPtr()
Override standard Singleton retrieval.
Base class interface for shader program writers.
Template class for creating single-instance global classes.