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;
       }));