From bbdd7640e885ce3a72bba05e0aaf2361751b9142 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Sat, 1 Mar 2014 14:48:57 +0000 Subject: [C++11] Replace verbose functors with succinct lambdas No functionality change. llvm-svn: 202590 --- clang/lib/Driver/Multilib.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'clang/lib/Driver/Multilib.cpp') diff --git a/clang/lib/Driver/Multilib.cpp b/clang/lib/Driver/Multilib.cpp index 6681e7f3649..3d30bf8be53 100644 --- a/clang/lib/Driver/Multilib.cpp +++ b/clang/lib/Driver/Multilib.cpp @@ -338,20 +338,11 @@ MultilibSet::filterCopy(const MultilibSet::FilterCallback &F, return Copy; } -namespace { -// Wrapper for FilterCallback to make operator() nonvirtual so it -// can be passed by value to std::remove_if -class FilterWrapper { - const MultilibSet::FilterCallback &F; -public: - FilterWrapper(const MultilibSet::FilterCallback &F) : F(F) {} - bool operator()(const Multilib &M) const { return F(M); } -}; -} // end anonymous namespace - void MultilibSet::filterInPlace(const MultilibSet::FilterCallback &F, multilib_list &Ms) { - Ms.erase(std::remove_if(Ms.begin(), Ms.end(), FilterWrapper(F)), Ms.end()); + Ms.erase(std::remove_if(Ms.begin(), Ms.end(), + [&F](const Multilib &M) { return F(M); }), + Ms.end()); } raw_ostream &clang::driver::operator<<(raw_ostream &OS, const MultilibSet &MS) { -- cgit v1.2.3