From a59dcc3de2a59ed4755de73c70bac54947d60e27 Mon Sep 17 00:00:00 2001 From: Steve Anton Date: Mon, 25 Mar 2019 13:53:07 -0700 Subject: [PATCH] Use Abseil container algorithms in api/ Bug: None Change-Id: I87439a234d7018757eb61e99d5c6f9c7be4ab357 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128825 Commit-Queue: Steve Anton Reviewed-by: Amit Hilbuch Reviewed-by: Karl Wiberg Cr-Commit-Position: refs/heads/master@{#27272} --- api/BUILD.gn | 2 ++ api/jsep_ice_candidate.cc | 10 +++++----- api/rtp_parameters.cc | 8 ++++---- api/stats_types.cc | 9 +++++---- api/test/fake_media_transport.h | 8 +++----- api/test/loopback_media_transport.cc | 14 ++++++-------- api/video_codecs/BUILD.gn | 1 + api/video_codecs/vp8_temporal_layers.cc | 5 +++-- 8 files changed, 29 insertions(+), 28 deletions(-) diff --git a/api/BUILD.gn b/api/BUILD.gn index af50215c97..4d8e40aa98 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -754,6 +754,7 @@ if (rtc_include_tests) { deps = [ ":libjingle_peerconnection_api", "../rtc_base:checks", + "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/memory", ] } @@ -770,6 +771,7 @@ if (rtc_include_tests) { ":libjingle_peerconnection_api", "../rtc_base", "../rtc_base:checks", + "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/memory", ] } diff --git a/api/jsep_ice_candidate.cc b/api/jsep_ice_candidate.cc index 59da4e4975..33283868f6 100644 --- a/api/jsep_ice_candidate.cc +++ b/api/jsep_ice_candidate.cc @@ -10,9 +10,10 @@ #include "api/jsep_ice_candidate.h" -#include #include +#include "absl/algorithm/container.h" + namespace webrtc { std::string JsepIceCandidate::sdp_mid() const { @@ -71,10 +72,9 @@ bool JsepCandidateCollection::HasCandidate( } size_t JsepCandidateCollection::remove(const cricket::Candidate& candidate) { - auto iter = std::find_if(candidates_.begin(), candidates_.end(), - [candidate](JsepIceCandidate* c) { - return candidate.MatchesForRemoval(c->candidate()); - }); + auto iter = absl::c_find_if(candidates_, [&](JsepIceCandidate* c) { + return candidate.MatchesForRemoval(c->candidate()); + }); if (iter != candidates_.end()) { delete *iter; candidates_.erase(iter); diff --git a/api/rtp_parameters.cc b/api/rtp_parameters.cc index 9ba2423bff..aea74a962d 100644 --- a/api/rtp_parameters.cc +++ b/api/rtp_parameters.cc @@ -221,10 +221,10 @@ std::vector RtpExtension::FilterDuplicateNonEncrypted( // Only add non-encrypted extension if no encrypted with the same URI // is also present... - if (std::find_if(extension + 1, extensions.end(), - [extension](const RtpExtension& check) { - return extension->uri == check.uri; - }) != extensions.end()) { + if (std::any_of(extension + 1, extensions.end(), + [&](const RtpExtension& check) { + return extension->uri == check.uri; + })) { continue; } diff --git a/api/stats_types.cc b/api/stats_types.cc index 1ad195da17..a01ecd075d 100644 --- a/api/stats_types.cc +++ b/api/stats_types.cc @@ -12,6 +12,7 @@ #include +#include "absl/algorithm/container.h" #include "rtc_base/checks.h" #include "rtc_base/ref_counted_object.h" @@ -817,8 +818,8 @@ StatsReport* StatsCollection::FindOrAddNew(const StatsReport::Id& id) { StatsReport* StatsCollection::ReplaceOrAddNew(const StatsReport::Id& id) { RTC_DCHECK(thread_checker_.CalledOnValidThread()); RTC_DCHECK(id.get()); - Container::iterator it = std::find_if( - list_.begin(), list_.end(), + Container::iterator it = absl::c_find_if( + list_, [&id](const StatsReport* r) -> bool { return r->id()->Equals(id); }); if (it != end()) { StatsReport* report = new StatsReport((*it)->id()); @@ -833,8 +834,8 @@ StatsReport* StatsCollection::ReplaceOrAddNew(const StatsReport::Id& id) { // will be returned. StatsReport* StatsCollection::Find(const StatsReport::Id& id) { RTC_DCHECK(thread_checker_.CalledOnValidThread()); - Container::iterator it = std::find_if( - list_.begin(), list_.end(), + Container::iterator it = absl::c_find_if( + list_, [&id](const StatsReport* r) -> bool { return r->id()->Equals(id); }); return it == list_.end() ? nullptr : *it; } diff --git a/api/test/fake_media_transport.h b/api/test/fake_media_transport.h index a085bc04b0..ef8284ca93 100644 --- a/api/test/fake_media_transport.h +++ b/api/test/fake_media_transport.h @@ -16,6 +16,7 @@ #include #include +#include "absl/algorithm/container.h" #include "absl/memory/memory.h" #include "api/media_transport_interface.h" @@ -85,16 +86,13 @@ class FakeMediaTransport : public MediaTransportInterface { void AddTargetTransferRateObserver( webrtc::TargetTransferRateObserver* observer) override { - RTC_CHECK(std::find(target_rate_observers_.begin(), - target_rate_observers_.end(), - observer) == target_rate_observers_.end()); + RTC_CHECK(!absl::c_linear_search(target_rate_observers_, observer)); target_rate_observers_.push_back(observer); } void RemoveTargetTransferRateObserver( webrtc::TargetTransferRateObserver* observer) override { - auto it = std::find(target_rate_observers_.begin(), - target_rate_observers_.end(), observer); + auto it = absl::c_find(target_rate_observers_, observer); if (it != target_rate_observers_.end()) { target_rate_observers_.erase(it); } diff --git a/api/test/loopback_media_transport.cc b/api/test/loopback_media_transport.cc index 9b43da2015..4e8fb0e099 100644 --- a/api/test/loopback_media_transport.cc +++ b/api/test/loopback_media_transport.cc @@ -10,6 +10,7 @@ #include "api/test/loopback_media_transport.h" +#include "absl/algorithm/container.h" #include "absl/memory/memory.h" #include "rtc_base/time_utils.h" @@ -242,9 +243,8 @@ void MediaTransportPair::LoopbackMediaTransport::AddTargetTransferRateObserver( RTC_CHECK(observer); { rtc::CritScope cs(&sink_lock_); - RTC_CHECK(std::find(target_transfer_rate_observers_.begin(), - target_transfer_rate_observers_.end(), - observer) == target_transfer_rate_observers_.end()); + RTC_CHECK( + !absl::c_linear_search(target_transfer_rate_observers_, observer)); target_transfer_rate_observers_.push_back(observer); } invoker_.AsyncInvoke(RTC_FROM_HERE, thread_, [this] { @@ -271,8 +271,7 @@ void MediaTransportPair::LoopbackMediaTransport::AddTargetTransferRateObserver( void MediaTransportPair::LoopbackMediaTransport:: RemoveTargetTransferRateObserver(TargetTransferRateObserver* observer) { rtc::CritScope cs(&sink_lock_); - auto it = std::find(target_transfer_rate_observers_.begin(), - target_transfer_rate_observers_.end(), observer); + auto it = absl::c_find(target_transfer_rate_observers_, observer); if (it == target_transfer_rate_observers_.end()) { RTC_LOG(LS_WARNING) << "Attempt to remove an unknown TargetTransferRate observer"; @@ -286,8 +285,7 @@ void MediaTransportPair::LoopbackMediaTransport::AddRttObserver( RTC_CHECK(observer); { rtc::CritScope cs(&sink_lock_); - RTC_CHECK(std::find(rtt_observers_.begin(), rtt_observers_.end(), - observer) == rtt_observers_.end()); + RTC_CHECK(!absl::c_linear_search(rtt_observers_, observer)); rtt_observers_.push_back(observer); } invoker_.AsyncInvoke(RTC_FROM_HERE, thread_, [this] { @@ -303,7 +301,7 @@ void MediaTransportPair::LoopbackMediaTransport::AddRttObserver( void MediaTransportPair::LoopbackMediaTransport::RemoveRttObserver( MediaTransportRttObserver* observer) { rtc::CritScope cs(&sink_lock_); - auto it = std::find(rtt_observers_.begin(), rtt_observers_.end(), observer); + auto it = absl::c_find(rtt_observers_, observer); if (it == rtt_observers_.end()) { RTC_LOG(LS_WARNING) << "Attempt to remove an unknown RTT observer"; return; diff --git a/api/video_codecs/BUILD.gn b/api/video_codecs/BUILD.gn index e219353276..ceb8eaf218 100644 --- a/api/video_codecs/BUILD.gn +++ b/api/video_codecs/BUILD.gn @@ -46,6 +46,7 @@ rtc_source_set("video_codecs_api") { "../video:video_bitrate_allocation", "../video:video_codec_constants", "../video:video_frame", + "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/container:inlined_vector", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", diff --git a/api/video_codecs/vp8_temporal_layers.cc b/api/video_codecs/vp8_temporal_layers.cc index a3c0db1a04..df4dfa7c11 100644 --- a/api/video_codecs/vp8_temporal_layers.cc +++ b/api/video_codecs/vp8_temporal_layers.cc @@ -12,6 +12,7 @@ #include +#include "absl/algorithm/container.h" #include "rtc_base/checks.h" namespace webrtc { @@ -20,8 +21,8 @@ Vp8TemporalLayers::Vp8TemporalLayers( std::vector>&& controllers) : controllers_(std::move(controllers)) { RTC_DCHECK(!controllers_.empty()); - RTC_DCHECK(std::none_of( - controllers_.begin(), controllers_.end(), + RTC_DCHECK(absl::c_none_of( + controllers_, [](const std::unique_ptr& controller) { return controller.get() == nullptr; }));