diff --git a/libaegisub/common/cajun/writer.cpp b/libaegisub/common/cajun/writer.cpp index 61a12163e..b2724f64b 100644 --- a/libaegisub/common/cajun/writer.cpp +++ b/libaegisub/common/cajun/writer.cpp @@ -9,7 +9,6 @@ Author: Terry Caton #include "libaegisub/cajun/writer.h" #include -#include #include /* diff --git a/libaegisub/common/hotkey.cpp b/libaegisub/common/hotkey.cpp index d1c208b83..e8a124380 100644 --- a/libaegisub/common/hotkey.cpp +++ b/libaegisub/common/hotkey.cpp @@ -30,7 +30,6 @@ #include #include #include -#include #include namespace agi { diff --git a/libaegisub/common/io.cpp b/libaegisub/common/io.cpp index e4c54ba52..aa7217aa5 100644 --- a/libaegisub/common/io.cpp +++ b/libaegisub/common/io.cpp @@ -30,17 +30,16 @@ namespace agi { namespace io { -std::unique_ptr Open(fs::path const& file, bool binary) { +std::unique_ptr Open(fs::path const& file, bool binary) { LOG_D("agi/io/open/file") << file; acs::CheckFileRead(file); - std::unique_ptr stream( - new boost::filesystem::ifstream(file, (binary ? std::ios::binary : std::ios::in))); + auto stream = util::make_unique(file, (binary ? std::ios::binary : std::ios::in)); if (stream->fail()) throw IOFatal("Unknown fatal error as occurred"); - return stream; + return std::unique_ptr(stream.release()); } Save::Save(fs::path const& file, bool binary) @@ -63,7 +62,7 @@ Save::Save(fs::path const& file, bool binary) } Save::~Save() { - fp->close(); // Need to close before rename on Windows to unlock the file + fp.reset(); // Need to close before rename on Windows to unlock the file for (int i = 0; i < 10; ++i) { try { fs::Rename(tmp_name, file_name); diff --git a/libaegisub/common/keyframe.cpp b/libaegisub/common/keyframe.cpp index 5811a0b0b..b4efe06bf 100644 --- a/libaegisub/common/keyframe.cpp +++ b/libaegisub/common/keyframe.cpp @@ -22,7 +22,6 @@ #include "libaegisub/keyframe.h" #include -#include #include "libaegisub/io.h" #include "libaegisub/line_iterator.h" @@ -78,14 +77,14 @@ char x264(std::string const& line) { namespace agi { namespace keyframe { void Save(agi::fs::path const& filename, std::vector const& keyframes) { io::Save file(filename); - std::ofstream& of = file.Get(); + std::ostream& of = file.Get(); of << "# keyframe format v1" << std::endl; of << "fps " << 0 << std::endl; boost::copy(keyframes, std::ostream_iterator(of, "\n")); } std::vector Load(agi::fs::path const& filename) { - std::unique_ptr file(io::Open(filename)); + auto file = io::Open(filename); std::istream &is(*file); std::string header; diff --git a/libaegisub/common/mru.cpp b/libaegisub/common/mru.cpp index 0c65638e3..03bf165f6 100644 --- a/libaegisub/common/mru.cpp +++ b/libaegisub/common/mru.cpp @@ -28,8 +28,6 @@ #include "libaegisub/option.h" #include "libaegisub/option_value.h" -#include - namespace agi { MRUManager::MRUManager(agi::fs::path const& config, std::pair default_config, agi::Options *options) diff --git a/libaegisub/common/option.cpp b/libaegisub/common/option.cpp index 0d75c0395..749ec5a0b 100644 --- a/libaegisub/common/option.cpp +++ b/libaegisub/common/option.cpp @@ -34,7 +34,6 @@ #include #include #include -#include #include namespace { diff --git a/libaegisub/common/thesaurus.cpp b/libaegisub/common/thesaurus.cpp index ed1d35255..a1bb801e0 100644 --- a/libaegisub/common/thesaurus.cpp +++ b/libaegisub/common/thesaurus.cpp @@ -28,8 +28,6 @@ #include #include -#include - using boost::phoenix::placeholders::_1; namespace agi { diff --git a/libaegisub/common/vfr.cpp b/libaegisub/common/vfr.cpp index 4ee0be669..355095841 100644 --- a/libaegisub/common/vfr.cpp +++ b/libaegisub/common/vfr.cpp @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include diff --git a/libaegisub/include/libaegisub/cajun/reader.h b/libaegisub/include/libaegisub/cajun/reader.h index 16e18b8ba..6d889be38 100644 --- a/libaegisub/include/libaegisub/cajun/reader.h +++ b/libaegisub/include/libaegisub/cajun/reader.h @@ -10,7 +10,6 @@ Author: Terry Caton #include "elements.h" -#include #include namespace json diff --git a/libaegisub/include/libaegisub/io.h b/libaegisub/include/libaegisub/io.h index 4ba52eaf5..4142aa4db 100644 --- a/libaegisub/include/libaegisub/io.h +++ b/libaegisub/include/libaegisub/io.h @@ -29,17 +29,17 @@ namespace agi { DEFINE_BASE_EXCEPTION_NOINNER(IOError, Exception) DEFINE_SIMPLE_EXCEPTION_NOINNER(IOFatal, IOError, "io/fatal") -std::unique_ptr Open(fs::path const& file, bool binary = false); +std::unique_ptr Open(fs::path const& file, bool binary = false); class Save { - std::unique_ptr fp; + std::unique_ptr fp; const fs::path file_name; const fs::path tmp_name; public: Save(fs::path const& file, bool binary = false); ~Save(); - std::ofstream& Get() { return *fp; } + std::ostream& Get() { return *fp; } }; } // namespace io diff --git a/libaegisub/lagi_pre.h b/libaegisub/lagi_pre.h index a206b3b8d..2bffbbfbc 100644 --- a/libaegisub/lagi_pre.h +++ b/libaegisub/lagi_pre.h @@ -37,10 +37,8 @@ #include #include -#include #include #include -#include #include #include #include diff --git a/src/ass_attachment.cpp b/src/ass_attachment.cpp index f5fba865b..044df14ef 100644 --- a/src/ass_attachment.cpp +++ b/src/ass_attachment.cpp @@ -24,7 +24,6 @@ #include #include -#include AssAttachment::AssAttachment(AssAttachment const& rgt) : entry_data(rgt.entry_data) diff --git a/src/ass_style_storage.cpp b/src/ass_style_storage.cpp index 2d6aea5c8..45a2dba8b 100644 --- a/src/ass_style_storage.cpp +++ b/src/ass_style_storage.cpp @@ -44,7 +44,6 @@ #include #include -#include AssStyleStorage::~AssStyleStorage() { } void AssStyleStorage::clear() { style.clear(); } @@ -67,7 +66,7 @@ void AssStyleStorage::Load(agi::fs::path const& filename) { clear(); try { - std::unique_ptr in(agi::io::Open(file)); + auto in = agi::io::Open(file); for (auto const& line : agi::line_iterator(*in)) { try { style.emplace_back(agi::util::make_unique(line)); diff --git a/src/audio_controller.cpp b/src/audio_controller.cpp index b56b1f9c7..5d35a6bca 100644 --- a/src/audio_controller.cpp +++ b/src/audio_controller.cpp @@ -54,7 +54,6 @@ #include #include -#include AudioController::AudioController(agi::Context *context) : context(context) @@ -373,7 +372,7 @@ void AudioController::SaveClip(agi::fs::path const& filename, TimeRange const& r if (filename.empty() || start_sample > provider->GetNumSamples() || range.length() == 0) return; agi::io::Save outfile(filename, true); - std::ofstream& out(outfile.Get()); + std::ostream& out(outfile.Get()); size_t bytes_per_sample = provider->GetBytesPerSample() * provider->GetChannels(); size_t bufsize = (end_sample - start_sample) * bytes_per_sample; diff --git a/src/audio_provider_hd.cpp b/src/audio_provider_hd.cpp index 48b783c74..5704eb2ec 100644 --- a/src/audio_provider_hd.cpp +++ b/src/audio_provider_hd.cpp @@ -52,7 +52,6 @@ #include #include #include -#include namespace { agi::fs::path cache_dir() { @@ -103,7 +102,7 @@ void HDAudioProvider::FillBuffer(void *buf, int64_t start, int64_t count) const memcpy(buf, file->read(start, count), count); } -void HDAudioProvider::FillCache(AudioProvider *src, std::ofstream *out, agi::ProgressSink *ps) { +void HDAudioProvider::FillCache(AudioProvider *src, std::ostream *out, agi::ProgressSink *ps) { ps->SetMessage(from_wx(_("Reading to Hard Disk cache"))); int64_t block = 65536; diff --git a/src/audio_provider_hd.h b/src/audio_provider_hd.h index 21c108db2..c65ede51b 100644 --- a/src/audio_provider_hd.h +++ b/src/audio_provider_hd.h @@ -49,7 +49,7 @@ class HDAudioProvider final : public AudioProviderWrapper { /// @param src Audio data to cache /// @param file File to write to /// @param ps Sink for progress reporting - void FillCache(AudioProvider *src, std::ofstream *file, agi::ProgressSink *ps); + void FillCache(AudioProvider *src, std::ostream *file, agi::ProgressSink *ps); void FillBuffer(void *buf, int64_t start, int64_t count) const override; diff --git a/src/dialog_shift_times.cpp b/src/dialog_shift_times.cpp index 4d40a1793..31c291207 100644 --- a/src/dialog_shift_times.cpp +++ b/src/dialog_shift_times.cpp @@ -46,7 +46,6 @@ #include #include -#include #include #include diff --git a/src/main.cpp b/src/main.cpp index 5e7e924e2..f2d4291a3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -65,7 +65,6 @@ #include #include -#include #include #include #include diff --git a/src/spellchecker_hunspell.cpp b/src/spellchecker_hunspell.cpp index a1ffd1143..9eec783bc 100644 --- a/src/spellchecker_hunspell.cpp +++ b/src/spellchecker_hunspell.cpp @@ -34,7 +34,6 @@ #include #include -#include #include HunspellSpellChecker::HunspellSpellChecker() diff --git a/src/subtitle_format_ebu3264.cpp b/src/subtitle_format_ebu3264.cpp index 8e73df9e7..ed6306134 100644 --- a/src/subtitle_format_ebu3264.cpp +++ b/src/subtitle_format_ebu3264.cpp @@ -39,7 +39,6 @@ #include #include -#include namespace { diff --git a/src/text_file_writer.cpp b/src/text_file_writer.cpp index d616a113a..57e6179e8 100644 --- a/src/text_file_writer.cpp +++ b/src/text_file_writer.cpp @@ -30,7 +30,6 @@ #include #include -#include TextFileWriter::TextFileWriter(agi::fs::path const& filename, std::string encoding) : file(new agi::io::Save(filename, true))