Program Listing for File loader.h

Return to documentation for file (simple2dengine/managers/loaders/loader.h)

#ifndef _SIMPLE2DENGINE_MANAGERS_LOADERS_LOADER_H_
#define _SIMPLE2DENGINE_MANAGERS_LOADERS_LOADER_H_

#include <memory>
#include <string>

namespace simple2dengine
{
    struct BaseAsset
    {
    };
    template<typename T> struct Asset : public BaseAsset
    {
        const T* asset;
    };
    class Loader
    {
      public:
        virtual ~Loader() = 0;
        virtual void load(const std::string& filename) = 0;
        virtual void unload(const std::string& filename) = 0;
        virtual BaseAsset* getAsset(const std::string& filename) const = 0;
    };
} // namespace simple2dengine

#endif // _SIMPLE2DENGINE_MANAGERS_LOADERS_LOADER_H_