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}
This commit is contained in:
Steve Anton 2019-03-25 13:53:07 -07:00 committed by Commit Bot
parent 2acd163448
commit a59dcc3de2
8 changed files with 29 additions and 28 deletions

View file

@ -754,6 +754,7 @@ if (rtc_include_tests) {
deps = [ deps = [
":libjingle_peerconnection_api", ":libjingle_peerconnection_api",
"../rtc_base:checks", "../rtc_base:checks",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/memory",
] ]
} }
@ -770,6 +771,7 @@ if (rtc_include_tests) {
":libjingle_peerconnection_api", ":libjingle_peerconnection_api",
"../rtc_base", "../rtc_base",
"../rtc_base:checks", "../rtc_base:checks",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/memory",
] ]
} }

View file

@ -10,9 +10,10 @@
#include "api/jsep_ice_candidate.h" #include "api/jsep_ice_candidate.h"
#include <algorithm>
#include <utility> #include <utility>
#include "absl/algorithm/container.h"
namespace webrtc { namespace webrtc {
std::string JsepIceCandidate::sdp_mid() const { std::string JsepIceCandidate::sdp_mid() const {
@ -71,8 +72,7 @@ bool JsepCandidateCollection::HasCandidate(
} }
size_t JsepCandidateCollection::remove(const cricket::Candidate& candidate) { size_t JsepCandidateCollection::remove(const cricket::Candidate& candidate) {
auto iter = std::find_if(candidates_.begin(), candidates_.end(), auto iter = absl::c_find_if(candidates_, [&](JsepIceCandidate* c) {
[candidate](JsepIceCandidate* c) {
return candidate.MatchesForRemoval(c->candidate()); return candidate.MatchesForRemoval(c->candidate());
}); });
if (iter != candidates_.end()) { if (iter != candidates_.end()) {

View file

@ -221,10 +221,10 @@ std::vector<RtpExtension> RtpExtension::FilterDuplicateNonEncrypted(
// Only add non-encrypted extension if no encrypted with the same URI // Only add non-encrypted extension if no encrypted with the same URI
// is also present... // is also present...
if (std::find_if(extension + 1, extensions.end(), if (std::any_of(extension + 1, extensions.end(),
[extension](const RtpExtension& check) { [&](const RtpExtension& check) {
return extension->uri == check.uri; return extension->uri == check.uri;
}) != extensions.end()) { })) {
continue; continue;
} }

View file

@ -12,6 +12,7 @@
#include <string.h> #include <string.h>
#include "absl/algorithm/container.h"
#include "rtc_base/checks.h" #include "rtc_base/checks.h"
#include "rtc_base/ref_counted_object.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) { StatsReport* StatsCollection::ReplaceOrAddNew(const StatsReport::Id& id) {
RTC_DCHECK(thread_checker_.CalledOnValidThread()); RTC_DCHECK(thread_checker_.CalledOnValidThread());
RTC_DCHECK(id.get()); RTC_DCHECK(id.get());
Container::iterator it = std::find_if( Container::iterator it = absl::c_find_if(
list_.begin(), list_.end(), list_,
[&id](const StatsReport* r) -> bool { return r->id()->Equals(id); }); [&id](const StatsReport* r) -> bool { return r->id()->Equals(id); });
if (it != end()) { if (it != end()) {
StatsReport* report = new StatsReport((*it)->id()); StatsReport* report = new StatsReport((*it)->id());
@ -833,8 +834,8 @@ StatsReport* StatsCollection::ReplaceOrAddNew(const StatsReport::Id& id) {
// will be returned. // will be returned.
StatsReport* StatsCollection::Find(const StatsReport::Id& id) { StatsReport* StatsCollection::Find(const StatsReport::Id& id) {
RTC_DCHECK(thread_checker_.CalledOnValidThread()); RTC_DCHECK(thread_checker_.CalledOnValidThread());
Container::iterator it = std::find_if( Container::iterator it = absl::c_find_if(
list_.begin(), list_.end(), list_,
[&id](const StatsReport* r) -> bool { return r->id()->Equals(id); }); [&id](const StatsReport* r) -> bool { return r->id()->Equals(id); });
return it == list_.end() ? nullptr : *it; return it == list_.end() ? nullptr : *it;
} }

View file

@ -16,6 +16,7 @@
#include <utility> #include <utility>
#include <vector> #include <vector>
#include "absl/algorithm/container.h"
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "api/media_transport_interface.h" #include "api/media_transport_interface.h"
@ -85,16 +86,13 @@ class FakeMediaTransport : public MediaTransportInterface {
void AddTargetTransferRateObserver( void AddTargetTransferRateObserver(
webrtc::TargetTransferRateObserver* observer) override { webrtc::TargetTransferRateObserver* observer) override {
RTC_CHECK(std::find(target_rate_observers_.begin(), RTC_CHECK(!absl::c_linear_search(target_rate_observers_, observer));
target_rate_observers_.end(),
observer) == target_rate_observers_.end());
target_rate_observers_.push_back(observer); target_rate_observers_.push_back(observer);
} }
void RemoveTargetTransferRateObserver( void RemoveTargetTransferRateObserver(
webrtc::TargetTransferRateObserver* observer) override { webrtc::TargetTransferRateObserver* observer) override {
auto it = std::find(target_rate_observers_.begin(), auto it = absl::c_find(target_rate_observers_, observer);
target_rate_observers_.end(), observer);
if (it != target_rate_observers_.end()) { if (it != target_rate_observers_.end()) {
target_rate_observers_.erase(it); target_rate_observers_.erase(it);
} }

View file

@ -10,6 +10,7 @@
#include "api/test/loopback_media_transport.h" #include "api/test/loopback_media_transport.h"
#include "absl/algorithm/container.h"
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "rtc_base/time_utils.h" #include "rtc_base/time_utils.h"
@ -242,9 +243,8 @@ void MediaTransportPair::LoopbackMediaTransport::AddTargetTransferRateObserver(
RTC_CHECK(observer); RTC_CHECK(observer);
{ {
rtc::CritScope cs(&sink_lock_); rtc::CritScope cs(&sink_lock_);
RTC_CHECK(std::find(target_transfer_rate_observers_.begin(), RTC_CHECK(
target_transfer_rate_observers_.end(), !absl::c_linear_search(target_transfer_rate_observers_, observer));
observer) == target_transfer_rate_observers_.end());
target_transfer_rate_observers_.push_back(observer); target_transfer_rate_observers_.push_back(observer);
} }
invoker_.AsyncInvoke<void>(RTC_FROM_HERE, thread_, [this] { invoker_.AsyncInvoke<void>(RTC_FROM_HERE, thread_, [this] {
@ -271,8 +271,7 @@ void MediaTransportPair::LoopbackMediaTransport::AddTargetTransferRateObserver(
void MediaTransportPair::LoopbackMediaTransport:: void MediaTransportPair::LoopbackMediaTransport::
RemoveTargetTransferRateObserver(TargetTransferRateObserver* observer) { RemoveTargetTransferRateObserver(TargetTransferRateObserver* observer) {
rtc::CritScope cs(&sink_lock_); rtc::CritScope cs(&sink_lock_);
auto it = std::find(target_transfer_rate_observers_.begin(), auto it = absl::c_find(target_transfer_rate_observers_, observer);
target_transfer_rate_observers_.end(), observer);
if (it == target_transfer_rate_observers_.end()) { if (it == target_transfer_rate_observers_.end()) {
RTC_LOG(LS_WARNING) RTC_LOG(LS_WARNING)
<< "Attempt to remove an unknown TargetTransferRate observer"; << "Attempt to remove an unknown TargetTransferRate observer";
@ -286,8 +285,7 @@ void MediaTransportPair::LoopbackMediaTransport::AddRttObserver(
RTC_CHECK(observer); RTC_CHECK(observer);
{ {
rtc::CritScope cs(&sink_lock_); rtc::CritScope cs(&sink_lock_);
RTC_CHECK(std::find(rtt_observers_.begin(), rtt_observers_.end(), RTC_CHECK(!absl::c_linear_search(rtt_observers_, observer));
observer) == rtt_observers_.end());
rtt_observers_.push_back(observer); rtt_observers_.push_back(observer);
} }
invoker_.AsyncInvoke<void>(RTC_FROM_HERE, thread_, [this] { invoker_.AsyncInvoke<void>(RTC_FROM_HERE, thread_, [this] {
@ -303,7 +301,7 @@ void MediaTransportPair::LoopbackMediaTransport::AddRttObserver(
void MediaTransportPair::LoopbackMediaTransport::RemoveRttObserver( void MediaTransportPair::LoopbackMediaTransport::RemoveRttObserver(
MediaTransportRttObserver* observer) { MediaTransportRttObserver* observer) {
rtc::CritScope cs(&sink_lock_); 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()) { if (it == rtt_observers_.end()) {
RTC_LOG(LS_WARNING) << "Attempt to remove an unknown RTT observer"; RTC_LOG(LS_WARNING) << "Attempt to remove an unknown RTT observer";
return; return;

View file

@ -46,6 +46,7 @@ rtc_source_set("video_codecs_api") {
"../video:video_bitrate_allocation", "../video:video_bitrate_allocation",
"../video:video_codec_constants", "../video:video_codec_constants",
"../video:video_frame", "../video:video_frame",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/container:inlined_vector", "//third_party/abseil-cpp/absl/container:inlined_vector",
"//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional", "//third_party/abseil-cpp/absl/types:optional",

View file

@ -12,6 +12,7 @@
#include <utility> #include <utility>
#include "absl/algorithm/container.h"
#include "rtc_base/checks.h" #include "rtc_base/checks.h"
namespace webrtc { namespace webrtc {
@ -20,8 +21,8 @@ Vp8TemporalLayers::Vp8TemporalLayers(
std::vector<std::unique_ptr<Vp8FrameBufferController>>&& controllers) std::vector<std::unique_ptr<Vp8FrameBufferController>>&& controllers)
: controllers_(std::move(controllers)) { : controllers_(std::move(controllers)) {
RTC_DCHECK(!controllers_.empty()); RTC_DCHECK(!controllers_.empty());
RTC_DCHECK(std::none_of( RTC_DCHECK(absl::c_none_of(
controllers_.begin(), controllers_.end(), controllers_,
[](const std::unique_ptr<Vp8FrameBufferController>& controller) { [](const std::unique_ptr<Vp8FrameBufferController>& controller) {
return controller.get() == nullptr; return controller.get() == nullptr;
})); }));