From d6a5d9c4580495bb775cc095315e4c9e44a43811 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Wed, 11 Dec 2013 15:11:06 -0800 Subject: [PATCH] Use initializer lists in some places --- aegisub/libaegisub/common/cajun/reader.cpp | 7 +-- aegisub/libaegisub/common/vfr.cpp | 7 +++ aegisub/libaegisub/include/libaegisub/vfr.h | 1 + aegisub/src/audio_timing_dialogue.cpp | 8 +-- aegisub/src/audio_timing_karaoke.cpp | 4 +- aegisub/src/auto4_base.h | 6 +-- aegisub/src/auto4_lua.cpp | 2 +- aegisub/src/base_grid.cpp | 26 +++------- aegisub/src/command/edit.cpp | 5 +- aegisub/src/command/subtitle.cpp | 12 ++--- aegisub/src/dialog_spellchecker.cpp | 4 +- aegisub/src/dialog_version_check.cpp | 2 +- aegisub/src/factory_manager.h | 6 +-- aegisub/src/search_replace_engine.cpp | 7 +-- aegisub/src/subtitle_format.h | 4 +- aegisub/src/thesaurus.cpp | 2 +- aegisub/src/video_context.cpp | 2 +- aegisub/src/video_provider_dummy.h | 2 +- aegisub/src/video_provider_yuv4mpeg.h | 2 +- aegisub/src/visual_tool.cpp | 4 +- aegisub/tests/support/util.h | 14 ------ aegisub/tests/tests/keyframe.cpp | 8 +-- aegisub/tests/tests/line_wrap.cpp | 56 ++++++++++----------- aegisub/tests/tests/vfr.cpp | 38 +++++++------- 24 files changed, 96 insertions(+), 133 deletions(-) diff --git a/aegisub/libaegisub/common/cajun/reader.cpp b/aegisub/libaegisub/common/cajun/reader.cpp index f6bad499f..5db3c1060 100644 --- a/aegisub/libaegisub/common/cajun/reader.cpp +++ b/aegisub/libaegisub/common/cajun/reader.cpp @@ -243,11 +243,8 @@ void Reader::MatchString(std::string& string, InputStream& inputStream) { } void Reader::MatchNumber(std::string& sNumber, InputStream& inputStream) { - const char sNumericChars[] = "0123456789.eE-+"; - std::set numericChars; - numericChars.insert(sNumericChars, sNumericChars + sizeof(sNumericChars)); - - while (!inputStream.EOS()&& numericChars.count(inputStream.Peek())) + const char numericChars[] = "0123456789.eE-+"; + while (!inputStream.EOS() && std::find(numericChars, std::end(numericChars), inputStream.Peek()) != std::end(numericChars)) sNumber.push_back(inputStream.Get()); } diff --git a/aegisub/libaegisub/common/vfr.cpp b/aegisub/libaegisub/common/vfr.cpp index a670eb5c7..252c1f554 100644 --- a/aegisub/libaegisub/common/vfr.cpp +++ b/aegisub/libaegisub/common/vfr.cpp @@ -186,6 +186,13 @@ Framerate::Framerate(std::vector timecodes) SetFromTimecodes(); } +Framerate::Framerate(std::initializer_list timecodes) +: timecodes(timecodes) +, drop(false) +{ + SetFromTimecodes(); +} + void Framerate::swap(Framerate &right) throw() { using std::swap; swap(numerator, right.numerator); diff --git a/aegisub/libaegisub/include/libaegisub/vfr.h b/aegisub/libaegisub/include/libaegisub/vfr.h index 29b86e9e1..b8cc8cdd4 100644 --- a/aegisub/libaegisub/include/libaegisub/vfr.h +++ b/aegisub/libaegisub/include/libaegisub/vfr.h @@ -108,6 +108,7 @@ public: /// @brief VFR from frame times /// @param timecodes Vector of frame start times in milliseconds Framerate(std::vector timecodes); + Framerate(std::initializer_list timecodes); /// Helper function for the std::swap specialization void swap(Framerate &right) throw(); diff --git a/aegisub/src/audio_timing_dialogue.cpp b/aegisub/src/audio_timing_dialogue.cpp index 2fbe773e1..433a3f985 100644 --- a/aegisub/src/audio_timing_dialogue.cpp +++ b/aegisub/src/audio_timing_dialogue.cpp @@ -590,24 +590,24 @@ void AudioTimingControllerDialogue::Revert() void AudioTimingControllerDialogue::AddLeadIn() { DialogueTimingMarker *m = active_line.GetLeftMarker(); - SetMarkers(std::vector(1, m), *m - OPT_GET("Audio/Lead/IN")->GetInt()); + SetMarkers({ m }, *m - OPT_GET("Audio/Lead/IN")->GetInt()); } void AudioTimingControllerDialogue::AddLeadOut() { DialogueTimingMarker *m = active_line.GetRightMarker(); - SetMarkers(std::vector(1, m), *m + OPT_GET("Audio/Lead/OUT")->GetInt()); + SetMarkers({ m }, *m + OPT_GET("Audio/Lead/OUT")->GetInt()); } void AudioTimingControllerDialogue::ModifyLength(int delta, bool) { DialogueTimingMarker *m = active_line.GetRightMarker(); - SetMarkers(std::vector(1, m), + SetMarkers({ m }, std::max(*m + delta * 10, *active_line.GetLeftMarker())); } void AudioTimingControllerDialogue::ModifyStart(int delta) { DialogueTimingMarker *m = active_line.GetLeftMarker(); - SetMarkers(std::vector(1, m), + SetMarkers({ m }, std::min(*m + delta * 10, *active_line.GetRightMarker())); } diff --git a/aegisub/src/audio_timing_karaoke.cpp b/aegisub/src/audio_timing_karaoke.cpp index 77b0334b9..5e95847d0 100644 --- a/aegisub/src/audio_timing_karaoke.cpp +++ b/aegisub/src/audio_timing_karaoke.cpp @@ -375,7 +375,7 @@ std::vector AudioTimingControllerKaraoke::OnLeftClick(int ms, bool AnnounceUpdatedPrimaryRange(); AnnounceUpdatedStyleRanges(); - return std::vector(); + return {}; } std::vector AudioTimingControllerKaraoke::OnRightClick(int ms, bool, int, int) { @@ -385,7 +385,7 @@ std::vector AudioTimingControllerKaraoke::OnRightClick(int ms, boo AnnounceUpdatedStyleRanges(); c->audioController->PlayPrimaryRange(); - return std::vector(); + return {}; } int AudioTimingControllerKaraoke::MoveMarker(KaraokeMarker *marker, int new_position) { diff --git a/aegisub/src/auto4_base.h b/aegisub/src/auto4_base.h index 7493f7086..6a11997ef 100644 --- a/aegisub/src/auto4_base.h +++ b/aegisub/src/auto4_base.h @@ -293,8 +293,8 @@ namespace Automation4 { std::string GetVersion() const override { return ""; } bool GetLoadedState() const override { return false; } - std::vector GetMacros() const override { return std::vector(); } - std::vector GetFilters() const override { return std::vector(); } - std::vector GetFormats() const override { return std::vector(); } + std::vector GetMacros() const override { return {}; } + std::vector GetFilters() const override { return {}; } + std::vector GetFormats() const override { return {}; } }; } diff --git a/aegisub/src/auto4_lua.cpp b/aegisub/src/auto4_lua.cpp index 49f621bf9..6cfcfb087 100644 --- a/aegisub/src/auto4_lua.cpp +++ b/aegisub/src/auto4_lua.cpp @@ -338,7 +338,7 @@ namespace Automation4 { std::vector GetMacros() const override { return macros; } std::vector GetFilters() const override; - std::vector GetFormats() const override { return std::vector(); } + std::vector GetFormats() const override { return {}; } }; LuaScript::LuaScript(agi::fs::path const& filename) diff --git a/aegisub/src/base_grid.cpp b/aegisub/src/base_grid.cpp index caf5fde79..22aac6490 100644 --- a/aegisub/src/base_grid.cpp +++ b/aegisub/src/base_grid.cpp @@ -330,11 +330,8 @@ void BaseGrid::UpdateMaps(bool preserve_selected_rows) { SetActiveLine(index_line_map.back()); } - if (selection.empty() && active_line) { - Selection sel; - sel.insert(active_line); - SetSelectedSet(sel); - } + if (selection.empty() && active_line) + SetSelectedSet({ active_line }); EndBatch(); @@ -717,9 +714,8 @@ void BaseGrid::OnMouseEvent(wxMouseEvent &event) { // Toggle each Selection newsel; if (ctrl) newsel = selection; - for (int i = i1; i <= i2; i++) { + for (int i = i1; i <= i2; i++) newsel.insert(GetDialogue(i)); - } SetSelectedSet(newsel); return; } @@ -1061,22 +1057,14 @@ void BaseGrid::SetSelectionAndActive(Selection const& new_selection, AssDialogue void BaseGrid::PrevLine() { int cur_line_i = GetDialogueIndex(GetActiveLine()); - if (AssDialogue *prev_line = GetDialogue(cur_line_i-1)) { - SetActiveLine(prev_line); - Selection newsel; - newsel.insert(prev_line); - SetSelectedSet(newsel); - } + if (AssDialogue *prev_line = GetDialogue(cur_line_i-1)) + SetSelectionAndActive({ prev_line }, prev_line); } void BaseGrid::NextLine() { int cur_line_i = GetDialogueIndex(GetActiveLine()); - if (AssDialogue *next_line = GetDialogue(cur_line_i+1)) { - SetActiveLine(next_line); - Selection newsel; - newsel.insert(next_line); - SetSelectedSet(newsel); - } + if (AssDialogue *next_line = GetDialogue(cur_line_i+1)) + SetSelectionAndActive({ next_line }, next_line); } void BaseGrid::AnnounceActiveLineChanged(AssDialogue *new_line) { diff --git a/aegisub/src/command/edit.cpp b/aegisub/src/command/edit.cpp index bf2ab5cc4..08dc12b40 100644 --- a/aegisub/src/command/edit.cpp +++ b/aegisub/src/command/edit.cpp @@ -525,10 +525,7 @@ static void delete_lines(agi::Context *c, wxString const& commit_message) { } c->ass->Commit(commit_message, AssFile::COMMIT_DIAG_ADDREM); - - sel.clear(); - sel.insert(new_active); - c->selectionController->SetSelectionAndActive(sel, new_active); + c->selectionController->SetSelectionAndActive({ new_active }, new_active); } struct edit_line_copy : public validate_sel_nonempty { diff --git a/aegisub/src/command/subtitle.cpp b/aegisub/src/command/subtitle.cpp index 6ea5729b6..879671cd5 100644 --- a/aegisub/src/command/subtitle.cpp +++ b/aegisub/src/command/subtitle.cpp @@ -125,9 +125,7 @@ static void insert_subtitle_at_video(agi::Context *c, bool after) { c->ass->Line.insert(pos, *def); c->ass->Commit(_("line insertion"), AssFile::COMMIT_DIAG_ADDREM); - SubtitleSelection sel; - sel.insert(def); - c->selectionController->SetSelectionAndActive(sel, def); + c->selectionController->SetSelectionAndActive({ def }, def); } struct subtitle_insert_after : public validate_nonempty_selection { @@ -160,9 +158,7 @@ struct subtitle_insert_after : public validate_nonempty_selection { } c->ass->Commit(_("line insertion"), AssFile::COMMIT_DIAG_ADDREM); - SubtitleSelection sel; - sel.insert(new_line); - c->selectionController->SetSelectionAndActive(sel, new_line); + c->selectionController->SetSelectionAndActive({ new_line }, new_line); } }; @@ -204,9 +200,7 @@ struct subtitle_insert_before : public validate_nonempty_selection { } c->ass->Commit(_("line insertion"), AssFile::COMMIT_DIAG_ADDREM); - SubtitleSelection sel; - sel.insert(new_line); - c->selectionController->SetSelectionAndActive(sel, new_line); + c->selectionController->SetSelectionAndActive({ new_line }, new_line); } }; diff --git a/aegisub/src/dialog_spellchecker.cpp b/aegisub/src/dialog_spellchecker.cpp index 4c599ba76..2fb735784 100644 --- a/aegisub/src/dialog_spellchecker.cpp +++ b/aegisub/src/dialog_spellchecker.cpp @@ -277,9 +277,7 @@ bool DialogSpellChecker::CheckLine(AssDialogue *active_line, int start_pos, int replace_word->Remove(0, -1); #endif - SubtitleSelection sel; - sel.insert(active_line); - context->selectionController->SetSelectionAndActive(sel, active_line); + context->selectionController->SetSelectionAndActive({ active_line }, active_line); SetWord(word); return true; } diff --git a/aegisub/src/dialog_version_check.cpp b/aegisub/src/dialog_version_check.cpp index 9eaf1c15e..fb495994c 100644 --- a/aegisub/src/dialog_version_check.cpp +++ b/aegisub/src/dialog_version_check.cpp @@ -184,7 +184,7 @@ DEFINE_SIMPLE_EXCEPTION_NOINNER(VersionCheckError, agi::Exception, "versioncheck void PostErrorEvent(bool interactive, wxString const& error_text) { if (interactive) { agi::dispatch::Main().Async([=]{ - new VersionCheckerResultDialog(error_text, std::vector()); + new VersionCheckerResultDialog(error_text, {}); }); } } diff --git a/aegisub/src/factory_manager.h b/aegisub/src/factory_manager.h index a1134d60d..2ec10dd42 100644 --- a/aegisub/src/factory_manager.h +++ b/aegisub/src/factory_manager.h @@ -79,7 +79,7 @@ public: } template - static void Register(std::string name, bool hide = false, std::vector subTypes = std::vector()) { + static void Register(std::string name, bool hide = false, std::vector subTypes = {}) { FactoryBase::DoRegister([](Arg1 a1, Arg2 a2) -> Base * { return new T(a1, a2); }, name, hide, subTypes); } }; @@ -95,7 +95,7 @@ public: } template - static void Register(std::string name, bool hide = false, std::vector subTypes = std::vector()) { + static void Register(std::string name, bool hide = false, std::vector subTypes = {}) { FactoryBase::DoRegister([](Arg1 a1) -> Base * { return new T(a1); }, name, hide, subTypes); } }; @@ -111,7 +111,7 @@ public: } template - static void Register(std::string name, bool hide = false, std::vector subTypes = std::vector()) { + static void Register(std::string name, bool hide = false, std::vector subTypes = {}) { FactoryBase::DoRegister([]() -> Base * { return new T; }, name, hide, subTypes); } }; diff --git a/aegisub/src/search_replace_engine.cpp b/aegisub/src/search_replace_engine.cpp index 33e2de1c7..568bb161d 100644 --- a/aegisub/src/search_replace_engine.cpp +++ b/aegisub/src/search_replace_engine.cpp @@ -278,11 +278,8 @@ bool SearchReplaceEngine::FindReplace(bool replace) { if (selection_only) // We're cycling through the selection, so don't muck with it context->selectionController->SetActiveLine(diag); - else { - SubtitleSelection new_sel; - new_sel.insert(diag); - context->selectionController->SetSelectionAndActive(new_sel, diag); - } + else + context->selectionController->SetSelectionAndActive({ diag }, diag); if (settings.field == SearchReplaceSettings::Field::TEXT) context->textSelectionController->SetSelection(ms.start, ms.end); diff --git a/aegisub/src/subtitle_format.h b/aegisub/src/subtitle_format.h index 70eb5974f..9036ce4cf 100644 --- a/aegisub/src/subtitle_format.h +++ b/aegisub/src/subtitle_format.h @@ -48,9 +48,9 @@ class SubtitleFormat { std::string name; /// Get this format's wildcards for a load dialog - virtual std::vector GetReadWildcards() const { return std::vector(); } + virtual std::vector GetReadWildcards() const { return {}; } /// Get this format's wildcards for a save dialog - virtual std::vector GetWriteWildcards() const { return std::vector(); } + virtual std::vector GetWriteWildcards() const { return {}; } /// List of loaded subtitle formats static std::vector formats; diff --git a/aegisub/src/thesaurus.cpp b/aegisub/src/thesaurus.cpp index 72ea78b57..a38d171aa 100644 --- a/aegisub/src/thesaurus.cpp +++ b/aegisub/src/thesaurus.cpp @@ -45,7 +45,7 @@ Thesaurus::~Thesaurus() { } std::vector Thesaurus::Lookup(std::string word) { - if (!impl.get()) return std::vector(); + if (!impl.get()) return {}; boost::to_lower(word); return impl->Lookup(word); } diff --git a/aegisub/src/video_context.cpp b/aegisub/src/video_context.cpp index e6d0d7b46..ff549cb67 100644 --- a/aegisub/src/video_context.cpp +++ b/aegisub/src/video_context.cpp @@ -456,7 +456,7 @@ void VideoContext::SaveTimecodes(agi::fs::path const& filename) { void VideoContext::CloseTimecodes() { ovr_fps = agi::vfr::Framerate(); timecodes_filename.clear(); - OnSubtitlesCommit(0, std::set()); + OnSubtitlesCommit(0, std::set()); TimecodesOpen(video_fps); } diff --git a/aegisub/src/video_provider_dummy.h b/aegisub/src/video_provider_dummy.h index d2034bb47..3902d882b 100644 --- a/aegisub/src/video_provider_dummy.h +++ b/aegisub/src/video_provider_dummy.h @@ -85,7 +85,7 @@ public: int GetHeight() const override { return height; } double GetDAR() const override { return 0; } agi::vfr::Framerate GetFPS() const override { return fps; } - std::vector GetKeyFrames() const override { return std::vector(); } + std::vector GetKeyFrames() const override { return {}; } std::string GetColorSpace() const override { return "None"; } std::string GetDecoderName() const override { return "Dummy Video Provider"; } }; diff --git a/aegisub/src/video_provider_yuv4mpeg.h b/aegisub/src/video_provider_yuv4mpeg.h index ab40c2fa0..370aac799 100644 --- a/aegisub/src/video_provider_yuv4mpeg.h +++ b/aegisub/src/video_provider_yuv4mpeg.h @@ -139,7 +139,7 @@ public: int GetHeight() const override { return h; } double GetDAR() const override { return 0; } agi::vfr::Framerate GetFPS() const override { return fps; } - std::vector GetKeyFrames() const override { return std::vector(); } + std::vector GetKeyFrames() const override { return {}; } std::string GetColorSpace() const override { return "TV.601"; } std::string GetDecoderName() const override { return "YU4MPEG"; } bool WantsCaching() const override { return true; } diff --git a/aegisub/src/visual_tool.cpp b/aegisub/src/visual_tool.cpp index 770faab8e..a24a235a6 100644 --- a/aegisub/src/visual_tool.cpp +++ b/aegisub/src/visual_tool.cpp @@ -267,9 +267,7 @@ void VisualTool::OnMouseEvent(wxMouseEvent &event) { else { if (!alt_down && features.size() > 1) { sel_features.clear(); - SubtitleSelection sel; - sel.insert(c->selectionController->GetActiveLine()); - c->selectionController->SetSelectedSet(sel); + c->selectionController->SetSelectedSet({ c->selectionController->GetActiveLine() }); } if (active_line && InitializeHold()) { holding = true; diff --git a/aegisub/tests/support/util.h b/aegisub/tests/support/util.h index d95491eec..a08542163 100644 --- a/aegisub/tests/support/util.h +++ b/aegisub/tests/support/util.h @@ -22,20 +22,6 @@ namespace util { bool compare(std::string const& file1, std::string const& file2); -template -static std::vector make_vector(int len, ...) { - std::vector vec(len); - - va_list argp; - va_start(argp, len); - for (int i = 0; i < len; i++) { - vec[i] = va_arg(argp, T); - } - va_end(argp); - return vec; -} - int write_rand(const char *path); int read_written_rand(const char *path); - } diff --git a/aegisub/tests/tests/keyframe.cpp b/aegisub/tests/tests/keyframe.cpp index f11cf2e07..97c1f00e8 100644 --- a/aegisub/tests/tests/keyframe.cpp +++ b/aegisub/tests/tests/keyframe.cpp @@ -29,7 +29,7 @@ using namespace agi::keyframe; using namespace util; TEST(lagi_keyframe, save) { - std::vector kf = make_vector(5, 0, 5, 70, 180, 300); + std::vector kf = { 0, 5, 70, 180, 300 }; ASSERT_NO_THROW(Save("data/keyframe/out.txt", kf)); @@ -46,7 +46,7 @@ TEST(lagi_keyframe, bad_files) { } TEST(lagi_keyframe, xvid) { - std::vector expected = make_vector(681, + std::vector expected = { 0, 52, 53, 55, 57, 80, 114, 168, 182, 234, 240, 242, 244, 250, 251, 274, 290, 336, 364, 431, 465, 535, 596, 654, 700, 744, 976, 982, 983, 984, 985, 993, 994, 995, 996, 997, 998, 1006, 1007, 1008, 1009, 1022, @@ -111,13 +111,13 @@ TEST(lagi_keyframe, xvid) { 32594, 32801, 32820, 32881, 32989, 33060, 33130, 33162, 33233, 33273, 33325, 33344, 33362, 33388, 33408, 33438, 33458, 33561, 33644, 33700, 33880, 33923, 33969, 33982, 33991, 34010, 34025, 34043, 34055, 34065, - 34082, 34102, 34112, 34122, 34142, 34158, 34170, 34187, 34211); + 34082, 34102, 34112, 34122, 34142, 34158, 34170, 34187, 34211 + }; std::vector res; ASSERT_NO_THROW(res = Load("data/keyframe/xvid.txt")); EXPECT_TRUE(expected == res); - } TEST(lagi_keyframe, x264) { diff --git a/aegisub/tests/tests/line_wrap.cpp b/aegisub/tests/tests/line_wrap.cpp index edee7bd09..680371497 100644 --- a/aegisub/tests/tests/line_wrap.cpp +++ b/aegisub/tests/tests/line_wrap.cpp @@ -22,36 +22,36 @@ using namespace util; TEST(lagi_wrap, no_wrapping_needed) { for (int i = Wrap_Balanced_FirstLonger; i <= Wrap_Balanced_LastLonger; ++i) - ASSERT_NO_THROW(get_wrap_points(make_vector(0), 100, (agi::WrapMode)i)); + ASSERT_NO_THROW(get_wrap_points(std::vector{}, 100, (agi::WrapMode)i)); for (int i = Wrap_Balanced_FirstLonger; i <= Wrap_Balanced_LastLonger; ++i) - ASSERT_NO_THROW(get_wrap_points(make_vector(1, 10), 100, (agi::WrapMode)i)); + ASSERT_NO_THROW(get_wrap_points(std::vector{ 10 }, 100, (agi::WrapMode)i)); for (int i = Wrap_Balanced_FirstLonger; i <= Wrap_Balanced_LastLonger; ++i) - EXPECT_TRUE(get_wrap_points(make_vector(1, 99), 100, (agi::WrapMode)i).empty()); + EXPECT_TRUE(get_wrap_points(std::vector{ 99 }, 100, (agi::WrapMode)i).empty()); for (int i = Wrap_Balanced_FirstLonger; i <= Wrap_Balanced_LastLonger; ++i) - EXPECT_TRUE(get_wrap_points(make_vector(4, 25, 25, 25, 24), 100, (agi::WrapMode)i).empty()); + EXPECT_TRUE(get_wrap_points(std::vector{ 25, 25, 25, 24 }, 100, (agi::WrapMode)i).empty()); for (int i = Wrap_Balanced_FirstLonger; i <= Wrap_Balanced_LastLonger; ++i) - EXPECT_TRUE(get_wrap_points(make_vector(1, 101), 100, (agi::WrapMode)i).empty()); + EXPECT_TRUE(get_wrap_points(std::vector{ 101 }, 100, (agi::WrapMode)i).empty()); } TEST(lagi_wrap, greedy) { std::vector ret; - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 20, Wrap_Greedy)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 20, Wrap_Greedy)); EXPECT_EQ(0, ret.size()); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 19, Wrap_Greedy)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 19, Wrap_Greedy)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 9, Wrap_Greedy)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 9, Wrap_Greedy)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(4, 5, 5, 5, 1), 15, Wrap_Greedy)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 5, 5, 5, 1 }, 15, Wrap_Greedy)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(3, ret[0]); @@ -62,7 +62,7 @@ TEST(lagi_wrap, greedy) { EXPECT_EQ(6, ret[2]); EXPECT_EQ(8, ret[3]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(9, 6, 7, 6, 8, 10, 10, 3, 4, 10), 20, Wrap_Greedy)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 6, 7, 6, 8, 10, 10, 3, 4, 10 }, 20, Wrap_Greedy)); ASSERT_EQ(3, ret.size()); EXPECT_EQ(3, ret[0]); EXPECT_EQ(5, ret[1]); @@ -72,26 +72,26 @@ TEST(lagi_wrap, greedy) { TEST(lagi_wrap, first_longer) { std::vector ret; - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 20, Wrap_Balanced_FirstLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 20, Wrap_Balanced_FirstLonger)); EXPECT_EQ(0, ret.size()); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 19, Wrap_Balanced_FirstLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 19, Wrap_Balanced_FirstLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 9, Wrap_Balanced_FirstLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 9, Wrap_Balanced_FirstLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(3, 5, 5, 1), 10, Wrap_Balanced_FirstLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 5, 5, 1 }, 10, Wrap_Balanced_FirstLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(2, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(4, 5, 5, 5, 1), 15, Wrap_Balanced_FirstLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 5, 5, 5, 1 }, 15, Wrap_Balanced_FirstLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(2, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(3, 6, 5, 5), 10, Wrap_Balanced_FirstLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 6, 5, 5 }, 10, Wrap_Balanced_FirstLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); } @@ -99,26 +99,26 @@ TEST(lagi_wrap, first_longer) { TEST(lagi_wrap, last_longer) { std::vector ret; - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 20, Wrap_Balanced_LastLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 20, Wrap_Balanced_LastLonger)); EXPECT_EQ(0, ret.size()); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 19, Wrap_Balanced_LastLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 19, Wrap_Balanced_LastLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 9, Wrap_Balanced_LastLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 9, Wrap_Balanced_LastLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(3, 5, 5, 1), 10, Wrap_Balanced_LastLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 5, 5, 1 }, 10, Wrap_Balanced_LastLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(4, 5, 5, 5, 1), 15, Wrap_Balanced_LastLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 5, 5, 5, 1 }, 15, Wrap_Balanced_LastLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(3, 5, 5, 6), 10, Wrap_Balanced_LastLonger)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 5, 5, 6 }, 10, Wrap_Balanced_LastLonger)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(2, ret[0]); } @@ -126,26 +126,26 @@ TEST(lagi_wrap, last_longer) { TEST(lagi_wrap, balanced) { std::vector ret; - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 20, Wrap_Balanced)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 20, Wrap_Balanced)); EXPECT_EQ(0, ret.size()); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 19, Wrap_Balanced)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 19, Wrap_Balanced)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(2, 10, 10), 9, Wrap_Balanced)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 10, 10 }, 9, Wrap_Balanced)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(3, 5, 5, 1), 10, Wrap_Balanced)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 5, 5, 1 }, 10, Wrap_Balanced)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(1, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(4, 5, 5, 5, 1), 15, Wrap_Balanced)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 5, 5, 5, 1 }, 15, Wrap_Balanced)); ASSERT_EQ(1, ret.size()); EXPECT_EQ(2, ret[0]); - ASSERT_NO_THROW(ret = get_wrap_points(make_vector(9, 6, 7, 6, 8, 10, 10, 3, 4, 10), 20, Wrap_Balanced)); + ASSERT_NO_THROW(ret = get_wrap_points(std::vector{ 6, 7, 6, 8, 10, 10, 3, 4, 10 }, 20, Wrap_Balanced)); ASSERT_EQ(3, ret.size()); EXPECT_EQ(3, ret[0]); EXPECT_EQ(5, ret[1]); diff --git a/aegisub/tests/tests/vfr.cpp b/aegisub/tests/tests/vfr.cpp index 78321c6cb..53e12e90d 100644 --- a/aegisub/tests/tests/vfr.cpp +++ b/aegisub/tests/tests/vfr.cpp @@ -34,7 +34,7 @@ using namespace util; TEST(lagi_vfr, constructors_good) { EXPECT_NO_THROW(Framerate(1.)); EXPECT_NO_THROW(Framerate(Framerate(1.))); - EXPECT_NO_THROW(Framerate(make_vector(2, 0, 10))); + EXPECT_NO_THROW(Framerate({ 0, 10 })); EXPECT_NO_THROW(Framerate("data/vfr/in/v1_start_equals_end.txt")); EXPECT_NO_THROW(Framerate("data/vfr/in/v1_whitespace.txt")); @@ -48,9 +48,9 @@ TEST(lagi_vfr, constructors_bad_cfr) { } TEST(lagi_vfr, constructors_bad_timecodes) { - EXPECT_THROW(Framerate(make_vector(0)), TooFewTimecodes); - EXPECT_THROW(Framerate(make_vector(1, 0)), TooFewTimecodes); - EXPECT_THROW(Framerate(make_vector(2, 10, 0)), UnorderedTimecodes); + EXPECT_THROW(Framerate(std::initializer_list{}), TooFewTimecodes); + EXPECT_THROW(Framerate({ 0 }), TooFewTimecodes); + EXPECT_THROW(Framerate({ 10, 0 }), UnorderedTimecodes); } TEST(lagi_vfr, constructors_bad_v1) { @@ -168,7 +168,7 @@ TEST(lagi_vfr, cfr_round_trip_end) { TEST(lagi_vfr, vfr_round_trip_exact) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(7, 0, 1000, 1500, 2000, 2001, 2002, 2003))); + ASSERT_NO_THROW(fps = Framerate({ 0, 1000, 1500, 2000, 2001, 2002, 2003 })); for (int i = -10; i < 11; i++) { EXPECT_EQ(i, fps.FrameAtTime(fps.TimeAtFrame(i))); } @@ -176,7 +176,7 @@ TEST(lagi_vfr, vfr_round_trip_exact) { TEST(lagi_vfr, vfr_round_trip_start) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(7, 0, 1000, 1500, 2000, 2001, 2002, 2003))); + ASSERT_NO_THROW(fps = Framerate({ 0, 1000, 1500, 2000, 2001, 2002, 2003 })); for (int i = -10; i < 11; i++) { EXPECT_EQ(i, fps.FrameAtTime(fps.TimeAtFrame(i, START), START)); } @@ -184,7 +184,7 @@ TEST(lagi_vfr, vfr_round_trip_start) { TEST(lagi_vfr, vfr_round_trip_end) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(7, 0, 1000, 1500, 2000, 2001, 2002, 2003))); + ASSERT_NO_THROW(fps = Framerate({ 0, 1000, 1500, 2000, 2001, 2002, 2003 })); for (int i = -10; i < 11; i++) { EXPECT_EQ(i, fps.FrameAtTime(fps.TimeAtFrame(i, END), END)); } @@ -192,7 +192,7 @@ TEST(lagi_vfr, vfr_round_trip_end) { TEST(lagi_vfr, vfr_time_at_frame_exact) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(5, 0, 1000, 1500, 2000, 2001))); + ASSERT_NO_THROW(fps = Framerate({ 0, 1000, 1500, 2000, 2001 })); EXPECT_EQ(0, fps.TimeAtFrame(0)); EXPECT_EQ(1000, fps.TimeAtFrame(1)); EXPECT_EQ(1500, fps.TimeAtFrame(2)); @@ -202,7 +202,7 @@ TEST(lagi_vfr, vfr_time_at_frame_exact) { TEST(lagi_vfr, vfr_time_at_frame_start) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(7, 0, 1000, 1500, 2000, 2001, 2002, 2003))); + ASSERT_NO_THROW(fps = Framerate({ 0, 1000, 1500, 2000, 2001, 2002, 2003 })); EXPECT_GE(0, fps.TimeAtFrame(0, START)); EXPECT_RANGE(1, 1000, fps.TimeAtFrame(1, START)); EXPECT_RANGE(1001, 1500, fps.TimeAtFrame(2, START)); @@ -214,7 +214,7 @@ TEST(lagi_vfr, vfr_time_at_frame_start) { TEST(lagi_vfr, vfr_time_at_frame_end) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(7, 0, 1000, 1500, 2000, 2001, 2002, 2003))); + ASSERT_NO_THROW(fps = Framerate({ 0, 1000, 1500, 2000, 2001, 2002, 2003 })); EXPECT_RANGE(1, 1000, fps.TimeAtFrame(0, END)); EXPECT_RANGE(1001, 1500, fps.TimeAtFrame(1, END)); EXPECT_RANGE(1501, 2000, fps.TimeAtFrame(2, END)); @@ -226,7 +226,7 @@ TEST(lagi_vfr, vfr_time_at_frame_end) { TEST(lagi_vfr, vfr_time_at_frame_outside_range) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(3, 0, 100, 200))); + ASSERT_NO_THROW(fps = Framerate({ 0, 100, 200 })); EXPECT_GT(0, fps.TimeAtFrame(-1)); EXPECT_EQ(0, fps.TimeAtFrame(0)); EXPECT_EQ(100, fps.TimeAtFrame(1)); @@ -242,7 +242,7 @@ TEST(lagi_vfr, vfr_time_at_frame_outside_range) { TEST(lagi_vfr, vfr_frame_at_time_exact) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(7, 0, 1000, 1500, 2000, 2001, 2002, 2003))); + ASSERT_NO_THROW(fps = Framerate({ 0, 1000, 1500, 2000, 2001, 2002, 2003 })); EXPECT_GT(0, fps.FrameAtTime(-1)); EXPECT_EQ(0, fps.FrameAtTime(0)); EXPECT_EQ(0, fps.FrameAtTime(999)); @@ -258,7 +258,7 @@ TEST(lagi_vfr, vfr_frame_at_time_exact) { } TEST(lagi_vfr, vfr_frame_at_time_start) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(7, 0, 1000, 1500, 2000, 2001, 2002, 2003))); + ASSERT_NO_THROW(fps = Framerate({ 0, 1000, 1500, 2000, 2001, 2002, 2003 })); EXPECT_GE(0, fps.FrameAtTime(-1, START)); EXPECT_EQ(0, fps.FrameAtTime(0, START)); EXPECT_EQ(1, fps.FrameAtTime(1, START)); @@ -315,7 +315,7 @@ TEST(lagi_vfr, validate_save) { TEST(lagi_vfr, save_vfr_nolen) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(3, 0, 100, 200))); + ASSERT_NO_THROW(fps = Framerate({ 0, 100, 200 })); ASSERT_NO_THROW(fps.Save("data/vfr/out/v2_nolen.txt")); EXPECT_TRUE(validate_save("data/vfr/in/v2_nolen.txt", "data/vfr/out/v2_nolen.txt")); @@ -323,7 +323,7 @@ TEST(lagi_vfr, save_vfr_nolen) { TEST(lagi_vfr, save_vfr_len) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(3, 0, 100, 200))); + ASSERT_NO_THROW(fps = Framerate({ 0, 100, 200 })); ASSERT_NO_THROW(fps.Save("data/vfr/out/v2_len_3_10.txt", 10)); EXPECT_TRUE(validate_save("data/vfr/in/v2_len_3_10.txt", "data/vfr/out/v2_len_3_10.txt", 3)); @@ -378,14 +378,14 @@ TEST(lagi_vfr, load_v1_save_v2_ovr) { TEST(lagi_vfr, nonzero_start_time) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(5, 10, 20, 30, 40, 50))); + ASSERT_NO_THROW(fps = Framerate({ 10, 20, 30, 40, 50 })); EXPECT_EQ(0, fps.TimeAtFrame(0, EXACT)); EXPECT_EQ(10, fps.TimeAtFrame(1, EXACT)); EXPECT_EQ(20, fps.TimeAtFrame(2, EXACT)); EXPECT_EQ(30, fps.TimeAtFrame(3, EXACT)); EXPECT_EQ(40, fps.TimeAtFrame(4, EXACT)); - ASSERT_NO_THROW(fps = Framerate(make_vector(5, -10, 20, 30, 40, 50))); + ASSERT_NO_THROW(fps = Framerate({ -10, 20, 30, 40, 50 })); EXPECT_EQ(0, fps.TimeAtFrame(0, EXACT)); EXPECT_EQ(30, fps.TimeAtFrame(1, EXACT)); EXPECT_EQ(40, fps.TimeAtFrame(2, EXACT)); @@ -420,7 +420,7 @@ TEST(lagi_vfr, no_intermediate_overflow) { TEST(lagi_vfr, duplicate_timestamps) { Framerate fps; - ASSERT_NO_THROW(fps = Framerate(make_vector(6, 0, 0, 1, 2, 2, 3))); + ASSERT_NO_THROW(fps = Framerate({ 0, 0, 1, 2, 2, 3 })); EXPECT_EQ(1, fps.FrameAtTime(0, EXACT)); EXPECT_EQ(2, fps.FrameAtTime(1, EXACT)); @@ -434,7 +434,7 @@ TEST(lagi_vfr, duplicate_timestamps) { EXPECT_EQ(2, fps.TimeAtFrame(4, EXACT)); EXPECT_EQ(3, fps.TimeAtFrame(5, EXACT)); - ASSERT_NO_THROW(fps = Framerate(make_vector(5, 0, 100, 100, 200, 300))); + ASSERT_NO_THROW(fps = Framerate({ 0, 100, 100, 200, 300 })); EXPECT_EQ(0, fps.FrameAtTime(0, EXACT)); EXPECT_EQ(0, fps.FrameAtTime(99, EXACT));