From 0fdbb3df4230829df93437f2143384c6aa27befb Mon Sep 17 00:00:00 2001 From: Nick Terrell Date: Mon, 3 Apr 2017 16:51:30 -0700 Subject: [PATCH] Remove use of generic lambdas Summary: The use of generic lambdas caused compiler errors with gcc 4.8.2. Fixes https://github.com/facebook/folly/issues/569. Reviewed By: Orvid, yfeldblum Differential Revision: D4821115 fbshipit-source-id: 8372ee7695a3d0a1df0d033623618a923c261737 --- folly/io/Compression.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/folly/io/Compression.cpp b/folly/io/Compression.cpp index 5b83a6f0..90235c66 100644 --- a/folly/io/Compression.cpp +++ b/folly/io/Compression.cpp @@ -1599,14 +1599,16 @@ bool AutomaticCodec::canUncompress( return std::any_of( codecs_.begin(), codecs_.end(), - [data, uncompressedLength](const auto& codec) { + [data, uncompressedLength](std::unique_ptr const& codec) { return codec->canUncompress(data, uncompressedLength); }); } void AutomaticCodec::addCodecIfSupported(CodecType type) { - const bool present = - std::any_of(codecs_.begin(), codecs_.end(), [&type](const auto& codec) { + const bool present = std::any_of( + codecs_.begin(), + codecs_.end(), + [&type](std::unique_ptr const& codec) { return codec->type() == type; }); if (hasCodec(type) && !present) { @@ -1631,17 +1633,20 @@ AutomaticCodec::AutomaticCodec(std::vector> customCodecs) checkCompatibleCodecs(); } // Check that none of the codes are are null - DCHECK(std::none_of(codecs_.begin(), codecs_.end(), [](const auto& codec) { - return codec == nullptr; - })); + DCHECK(std::none_of( + codecs_.begin(), codecs_.end(), [](std::unique_ptr const& codec) { + return codec == nullptr; + })); - needsUncompressedLength_ = - std::any_of(codecs_.begin(), codecs_.end(), [](const auto& codec) { + needsUncompressedLength_ = std::any_of( + codecs_.begin(), codecs_.end(), [](std::unique_ptr const& codec) { return codec->needsUncompressedLength(); }); const auto it = std::max_element( - codecs_.begin(), codecs_.end(), [](const auto& lhs, const auto& rhs) { + codecs_.begin(), + codecs_.end(), + [](std::unique_ptr const& lhs, std::unique_ptr const& rhs) { return lhs->maxUncompressedLength() < rhs->maxUncompressedLength(); }); DCHECK(it != codecs_.end()); -- 2.34.1