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 <steveanton@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27272}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index af50215..4d8e40a 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -754,6 +754,7 @@
deps = [
":libjingle_peerconnection_api",
"../rtc_base:checks",
+ "//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
]
}
@@ -770,6 +771,7 @@
":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 59da4e4..3328386 100644
--- a/api/jsep_ice_candidate.cc
+++ b/api/jsep_ice_candidate.cc
@@ -10,9 +10,10 @@
#include "api/jsep_ice_candidate.h"
-#include <algorithm>
#include <utility>
+#include "absl/algorithm/container.h"
+
namespace webrtc {
std::string JsepIceCandidate::sdp_mid() const {
@@ -71,10 +72,9 @@
}
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 9ba2423..aea74a9 100644
--- a/api/rtp_parameters.cc
+++ b/api/rtp_parameters.cc
@@ -221,10 +221,10 @@
// 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 1ad195d..a01ecd0 100644
--- a/api/stats_types.cc
+++ b/api/stats_types.cc
@@ -12,6 +12,7 @@
#include <string.h>
+#include "absl/algorithm/container.h"
#include "rtc_base/checks.h"
#include "rtc_base/ref_counted_object.h"
@@ -817,8 +818,8 @@
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 @@
// 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 a085bc0..ef8284c 100644
--- a/api/test/fake_media_transport.h
+++ b/api/test/fake_media_transport.h
@@ -16,6 +16,7 @@
#include <utility>
#include <vector>
+#include "absl/algorithm/container.h"
#include "absl/memory/memory.h"
#include "api/media_transport_interface.h"
@@ -85,16 +86,13 @@
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 9b43da2..4e8fb0e 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 @@
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<void>(RTC_FROM_HERE, thread_, [this] {
@@ -271,8 +271,7 @@
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 @@
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<void>(RTC_FROM_HERE, thread_, [this] {
@@ -303,7 +301,7 @@
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 e219353..ceb8eaf 100644
--- a/api/video_codecs/BUILD.gn
+++ b/api/video_codecs/BUILD.gn
@@ -46,6 +46,7 @@
"../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 a3c0db1..df4dfa7 100644
--- a/api/video_codecs/vp8_temporal_layers.cc
+++ b/api/video_codecs/vp8_temporal_layers.cc
@@ -12,6 +12,7 @@
#include <utility>
+#include "absl/algorithm/container.h"
#include "rtc_base/checks.h"
namespace webrtc {
@@ -20,8 +21,8 @@
std::vector<std::unique_ptr<Vp8FrameBufferController>>&& 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<Vp8FrameBufferController>& controller) {
return controller.get() == nullptr;
}));