From: Nick Terrell Date: Mon, 3 Apr 2017 23:51:30 +0000 (-0700) Subject: Remove use of generic lambdas X-Git-Tag: v2017.04.10.00~22 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=commitdiff_plain;h=0fdbb3df4230829df93437f2143384c6aa27befb 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 --- 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());