diff options
Diffstat (limited to 'FileReader.cpp')
-rw-r--r-- | FileReader.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/FileReader.cpp b/FileReader.cpp index 2c7a50e..d2d888f 100644 --- a/FileReader.cpp +++ b/FileReader.cpp @@ -1,10 +1,14 @@ +#include <memory> + #include "FileReader.h" #include "FileStrategy.h" -FileStrategy & FileReader::open(const std::string url) { +using namespace std; + +unique_ptr<FileStrategy> FileReader::open(const std::string url) { FileStrategy * reader = find_reader(url)->clone(); reader->open(url); - return *reader; + return unique_ptr<FileStrategy>(reader); } void FileReader::register_strategy(const std::string type, const FileStrategy * node) { |