#pragma once #include #include "FileStrategy.h" class LocalFile : FileStrategy { protected: virtual void open(const std::string url); public: virtual void close(); virtual const std::string read(); public: virtual ~LocalFile(); private: LocalFile(const LocalFile *); virtual LocalFile * clone() const; private: using FileStrategy::FileStrategy; constexpr static const std::string protocol = "file://"; static LocalFile instance; private: std::ifstream * file = nullptr; std::string * content = nullptr; };