class EE::Graphics::ShaderProgramManager

The Shader Program Manager is a singleton class that manages all the instances of Shader Programs instanciated. Releases the Shader Program instances automatically. So the user doesn’t need to release any Shader Program instance.

#include <shaderprogrammanager.hpp>

class ShaderProgramManager: public EE::System::ResourceManager {
    // construction

    virtual ~ShaderProgramManager();

    // methods

    void reload();

Inherited Members

    // methods

    virtual T* add(T* resource);
    bool remove(T* resource, bool remove = true);
    bool removeById(const String::HashType& id, bool remove = true);
    bool removeByName(const std::string& name, bool remove = true);
    T* getByName(const std::string& name);
    T* getById(const String::HashType& id);
    Uint32 getCount();
    Uint32 getCount(const std::string& name);
    Uint32 getCount(const String::HashType& id);
    bool exists(const std::string& name);
    bool existsId(const String::HashType& id);
    void destroy();
    void printNames();
    UnorderedMap<String::HashType, T*>& getResources();
    const bool& isDestroying() const;

    template <typename Predicate>
    void each(Predicate pred) const;

    template <typename Predicate>
    void each(Predicate pred);

    template <typename Predicate>
    T* findIf(Predicate pred) const;

    template <typename Predicate>
    T* findIf(Predicate pred);