Commit 0fdbb3df authored by Nick Terrell's avatar Nick Terrell Committed by Facebook Github Bot

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
parent 6e183a44
...@@ -1599,14 +1599,16 @@ bool AutomaticCodec::canUncompress( ...@@ -1599,14 +1599,16 @@ bool AutomaticCodec::canUncompress(
return std::any_of( return std::any_of(
codecs_.begin(), codecs_.begin(),
codecs_.end(), codecs_.end(),
[data, uncompressedLength](const auto& codec) { [data, uncompressedLength](std::unique_ptr<Codec> const& codec) {
return codec->canUncompress(data, uncompressedLength); return codec->canUncompress(data, uncompressedLength);
}); });
} }
void AutomaticCodec::addCodecIfSupported(CodecType type) { void AutomaticCodec::addCodecIfSupported(CodecType type) {
const bool present = const bool present = std::any_of(
std::any_of(codecs_.begin(), codecs_.end(), [&type](const auto& codec) { codecs_.begin(),
codecs_.end(),
[&type](std::unique_ptr<Codec> const& codec) {
return codec->type() == type; return codec->type() == type;
}); });
if (hasCodec(type) && !present) { if (hasCodec(type) && !present) {
...@@ -1631,17 +1633,20 @@ AutomaticCodec::AutomaticCodec(std::vector<std::unique_ptr<Codec>> customCodecs) ...@@ -1631,17 +1633,20 @@ AutomaticCodec::AutomaticCodec(std::vector<std::unique_ptr<Codec>> customCodecs)
checkCompatibleCodecs(); checkCompatibleCodecs();
} }
// Check that none of the codes are are null // Check that none of the codes are are null
DCHECK(std::none_of(codecs_.begin(), codecs_.end(), [](const auto& codec) { DCHECK(std::none_of(
codecs_.begin(), codecs_.end(), [](std::unique_ptr<Codec> const& codec) {
return codec == nullptr; return codec == nullptr;
})); }));
needsUncompressedLength_ = needsUncompressedLength_ = std::any_of(
std::any_of(codecs_.begin(), codecs_.end(), [](const auto& codec) { codecs_.begin(), codecs_.end(), [](std::unique_ptr<Codec> const& codec) {
return codec->needsUncompressedLength(); return codec->needsUncompressedLength();
}); });
const auto it = std::max_element( const auto it = std::max_element(
codecs_.begin(), codecs_.end(), [](const auto& lhs, const auto& rhs) { codecs_.begin(),
codecs_.end(),
[](std::unique_ptr<Codec> const& lhs, std::unique_ptr<Codec> const& rhs) {
return lhs->maxUncompressedLength() < rhs->maxUncompressedLength(); return lhs->maxUncompressedLength() < rhs->maxUncompressedLength();
}); });
DCHECK(it != codecs_.end()); DCHECK(it != codecs_.end());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment