From 220e6d18dae51f9a599feb559d4e3c5168fef929 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Fri, 21 Mar 2014 09:28:17 -0700 Subject: [PATCH] Use read_file_mapping in TextFileReader --- src/text_file_reader.cpp | 9 ++++++--- src/text_file_reader.h | 7 +++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/text_file_reader.cpp b/src/text_file_reader.cpp index f7dc3160d..72db609ac 100644 --- a/src/text_file_reader.cpp +++ b/src/text_file_reader.cpp @@ -18,16 +18,19 @@ #include "text_file_reader.h" -#include +#include +#include #include #include #include +#include TextFileReader::TextFileReader(agi::fs::path const& filename, std::string encoding, bool trim) -: file(agi::io::Open(filename, true)) +: file(agi::util::make_unique(filename)) +, stream(agi::util::make_unique(file->read(0, file->size()), file->size())) , trim(trim) -, iter(agi::line_iterator(*file, encoding)) +, iter(agi::line_iterator(*stream, encoding)) { } diff --git a/src/text_file_reader.h b/src/text_file_reader.h index 6b188bce9..4f948a233 100644 --- a/src/text_file_reader.h +++ b/src/text_file_reader.h @@ -14,17 +14,20 @@ // // Aegisub Project http://www.aegisub.org/ -#include +#include #include #include #include #include +namespace agi { class read_file_mapping; } + /// @class TextFileReader /// @brief A line-based text file reader class TextFileReader { - std::unique_ptr file; + std::unique_ptr file; + std::unique_ptr stream; bool trim; agi::line_iterator iter;