From b6b68b789d3929c6cd6e011a29253ae747149c63 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Mon, 12 Nov 2012 19:36:25 -0800 Subject: [PATCH] Use lambdas in a few places --- aegisub/src/dialog_automation.cpp | 4 ++-- aegisub/src/dialog_style_manager.cpp | 8 +++----- aegisub/src/dialog_timing_processor.cpp | 4 ++-- aegisub/src/visual_tool_drag.cpp | 6 +----- aegisub/src/visual_tool_vector_clip.cpp | 7 ++----- 5 files changed, 10 insertions(+), 19 deletions(-) diff --git a/aegisub/src/dialog_automation.cpp b/aegisub/src/dialog_automation.cpp index bc985fc63..53597e34c 100644 --- a/aegisub/src/dialog_automation.cpp +++ b/aegisub/src/dialog_automation.cpp @@ -181,8 +181,8 @@ void DialogAutomation::UpdateDisplay() template static bool has_file(Container const& c, wxFileName const& fn) { - return find_if(c.begin(), c.end(), - std::bind(&wxFileName::SameAs, fn, std::bind(&Automation4::Script::GetFilename, _1), wxPATH_NATIVE)) != c.end(); + return any_of(c.begin(), c.end(), + [&](const Automation4::Script *s) { return fn.SameAs(s->GetFilename()); }); } void DialogAutomation::OnAdd(wxCommandEvent &) diff --git a/aegisub/src/dialog_style_manager.cpp b/aegisub/src/dialog_style_manager.cpp index c5e15cc5b..914c09c2b 100644 --- a/aegisub/src/dialog_style_manager.cpp +++ b/aegisub/src/dialog_style_manager.cpp @@ -702,10 +702,6 @@ void DialogStyleManager::UpdateButtons() { CurrentSort->Enable(itemsCurr > 1); } -static bool cmp_style_name(const AssStyle *lft, const AssStyle *rgt) { - return lft->name < rgt->name; -} - template static void do_move(Cont& styls, int type, int& first, int& last, bool storage) { typename Cont::iterator begin = styls.begin(); @@ -744,7 +740,9 @@ static void do_move(Cont& styls, int type, int& first, int& last, bool storage) if (res == wxNO) return; } - sort(styls.begin(), styls.end(), cmp_style_name); + sort(styls.begin(), styls.end(), [](const AssStyle *lft, const AssStyle *rgt) { + return lft->name < rgt->name; + }); first = 0; last = 0; diff --git a/aegisub/src/dialog_timing_processor.cpp b/aegisub/src/dialog_timing_processor.cpp index aa48581e2..5f0cd0b3c 100644 --- a/aegisub/src/dialog_timing_processor.cpp +++ b/aegisub/src/dialog_timing_processor.cpp @@ -307,8 +307,8 @@ std::vector DialogTimingProcessor::SortDialogues() { if (onlySelection->IsChecked()) { SubtitleSelection sel = c->selectionController->GetSelectedSet(); - remove_copy_if(sel.begin(), sel.end(), back_inserter(sorted), - bind(bad_line, &styles, _1)); + copy_if(sel.begin(), sel.end(), back_inserter(sorted), + [&](AssDialogue *d) { return !d->Comment && styles.count(d->Style); }); } else { transform(c->ass->Line.begin(), c->ass->Line.end(), back_inserter(sorted), cast()); diff --git a/aegisub/src/visual_tool_drag.cpp b/aegisub/src/visual_tool_drag.cpp index ec59d7c81..67d0c39cc 100644 --- a/aegisub/src/visual_tool_drag.cpp +++ b/aegisub/src/visual_tool_drag.cpp @@ -152,12 +152,8 @@ void VisualToolDrag::OnFrameChanged() { } } -template static bool cmp_line(T const& lft, T const& rgt) { - return lft->line == rgt->line; -} - template static bool line_not_present(C const& set, T const& it) { - return find_if(set.begin(), set.end(), bind(cmp_line, it, std::placeholders::_1)) == set.end(); + return std::none_of(set.begin(), set.end(), [&](T const& cmp) { return cmp->line == it->line; }); } void VisualToolDrag::OnSelectedSetChanged(const SubtitleSelection &added, const SubtitleSelection &removed) { diff --git a/aegisub/src/visual_tool_vector_clip.cpp b/aegisub/src/visual_tool_vector_clip.cpp index ca7a34ce0..d50cb4930 100644 --- a/aegisub/src/visual_tool_vector_clip.cpp +++ b/aegisub/src/visual_tool_vector_clip.cpp @@ -94,10 +94,6 @@ void VisualToolVectorClip::SetMode(int new_mode) { mode = new_mode; } -static bool is_move(SplineCurve const& c) { - return c.type == SplineCurve::POINT; -} - void VisualToolVectorClip::Draw() { if (!active_line) return; if (spline.empty()) return; @@ -145,7 +141,8 @@ void VisualToolVectorClip::Draw() { // Draw preview of inserted line if (mode == 1 || mode == 2) { if (spline.size() && mouse_pos) { - Spline::reverse_iterator c0 = std::find_if(spline.rbegin(), spline.rend(), is_move); + auto c0 = std::find_if(spline.rbegin(), spline.rend(), + [](SplineCurve const& s) { return s.type == SplineCurve::POINT; }); SplineCurve *c1 = &spline.back(); gl.DrawDashedLine(mouse_pos, c0->p1, 6); gl.DrawDashedLine(mouse_pos, c1->EndPoint(), 6);