Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/

Bug: webrtc:13555, webrtc:13082
Change-Id: I2c2cbcbd918f0cfa970c1a964893220ba11d4b41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247960
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#35771}
diff --git a/modules/audio_processing/aec3/aec3_fft.h b/modules/audio_processing/aec3/aec3_fft.h
index 6f7fbe4..c68de53 100644
--- a/modules/audio_processing/aec3/aec3_fft.h
+++ b/modules/audio_processing/aec3/aec3_fft.h
@@ -18,7 +18,6 @@
 #include "modules/audio_processing/aec3/aec3_common.h"
 #include "modules/audio_processing/aec3/fft_data.h"
 #include "rtc_base/checks.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -30,6 +29,9 @@
 
   Aec3Fft();
 
+  Aec3Fft(const Aec3Fft&) = delete;
+  Aec3Fft& operator=(const Aec3Fft&) = delete;
+
   // Computes the FFT. Note that both the input and output are modified.
   void Fft(std::array<float, kFftLength>* x, FftData* X) const {
     RTC_DCHECK(x);
@@ -66,8 +68,6 @@
 
  private:
   const OouraFft ooura_fft_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(Aec3Fft);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/aec3/block_processor_metrics.h b/modules/audio_processing/aec3/block_processor_metrics.h
index 4ba0536..a70d0da 100644
--- a/modules/audio_processing/aec3/block_processor_metrics.h
+++ b/modules/audio_processing/aec3/block_processor_metrics.h
@@ -11,8 +11,6 @@
 #ifndef MODULES_AUDIO_PROCESSING_AEC3_BLOCK_PROCESSOR_METRICS_H_
 #define MODULES_AUDIO_PROCESSING_AEC3_BLOCK_PROCESSOR_METRICS_H_
 
-#include "rtc_base/constructor_magic.h"
-
 namespace webrtc {
 
 // Handles the reporting of metrics for the block_processor.
@@ -20,6 +18,9 @@
  public:
   BlockProcessorMetrics() = default;
 
+  BlockProcessorMetrics(const BlockProcessorMetrics&) = delete;
+  BlockProcessorMetrics& operator=(const BlockProcessorMetrics&) = delete;
+
   // Updates the metric with new capture data.
   void UpdateCapture(bool underrun);
 
@@ -38,8 +39,6 @@
   int render_buffer_underruns_ = 0;
   int render_buffer_overruns_ = 0;
   int buffer_render_calls_ = 0;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(BlockProcessorMetrics);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/aec3/decimator.h b/modules/audio_processing/aec3/decimator.h
index 3ccd292..dbff3d9 100644
--- a/modules/audio_processing/aec3/decimator.h
+++ b/modules/audio_processing/aec3/decimator.h
@@ -17,7 +17,6 @@
 #include "api/array_view.h"
 #include "modules/audio_processing/aec3/aec3_common.h"
 #include "modules/audio_processing/utility/cascaded_biquad_filter.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -26,6 +25,9 @@
  public:
   explicit Decimator(size_t down_sampling_factor);
 
+  Decimator(const Decimator&) = delete;
+  Decimator& operator=(const Decimator&) = delete;
+
   // Downsamples the signal.
   void Decimate(rtc::ArrayView<const float> in, rtc::ArrayView<float> out);
 
@@ -33,8 +35,6 @@
   const size_t down_sampling_factor_;
   CascadedBiQuadFilter anti_aliasing_filter_;
   CascadedBiQuadFilter noise_reduction_filter_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(Decimator);
 };
 }  // namespace webrtc
 
diff --git a/modules/audio_processing/aec3/echo_path_delay_estimator.h b/modules/audio_processing/aec3/echo_path_delay_estimator.h
index 6c8c212..d8f9775 100644
--- a/modules/audio_processing/aec3/echo_path_delay_estimator.h
+++ b/modules/audio_processing/aec3/echo_path_delay_estimator.h
@@ -21,7 +21,6 @@
 #include "modules/audio_processing/aec3/delay_estimate.h"
 #include "modules/audio_processing/aec3/matched_filter.h"
 #include "modules/audio_processing/aec3/matched_filter_lag_aggregator.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -37,6 +36,9 @@
                          size_t num_capture_channels);
   ~EchoPathDelayEstimator();
 
+  EchoPathDelayEstimator(const EchoPathDelayEstimator&) = delete;
+  EchoPathDelayEstimator& operator=(const EchoPathDelayEstimator&) = delete;
+
   // Resets the estimation. If the delay confidence is reset, the reset behavior
   // is as if the call is restarted.
   void Reset(bool reset_delay_confidence);
@@ -71,8 +73,6 @@
 
   // Internal reset method with more granularity.
   void Reset(bool reset_lag_aggregator, bool reset_delay_confidence);
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(EchoPathDelayEstimator);
 };
 }  // namespace webrtc
 
diff --git a/modules/audio_processing/aec3/echo_remover_metrics.h b/modules/audio_processing/aec3/echo_remover_metrics.h
index c3d8e20..aec8084 100644
--- a/modules/audio_processing/aec3/echo_remover_metrics.h
+++ b/modules/audio_processing/aec3/echo_remover_metrics.h
@@ -15,7 +15,6 @@
 
 #include "modules/audio_processing/aec3/aec3_common.h"
 #include "modules/audio_processing/aec3/aec_state.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -34,6 +33,9 @@
 
   EchoRemoverMetrics();
 
+  EchoRemoverMetrics(const EchoRemoverMetrics&) = delete;
+  EchoRemoverMetrics& operator=(const EchoRemoverMetrics&) = delete;
+
   // Updates the metric with new data.
   void Update(
       const AecState& aec_state,
@@ -52,8 +54,6 @@
   DbMetric erle_time_domain_;
   bool saturated_capture_ = false;
   bool metrics_reported_ = false;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(EchoRemoverMetrics);
 };
 
 namespace aec3 {
diff --git a/modules/audio_processing/aec3/erl_estimator.h b/modules/audio_processing/aec3/erl_estimator.h
index 89bf6ac..639a52c 100644
--- a/modules/audio_processing/aec3/erl_estimator.h
+++ b/modules/audio_processing/aec3/erl_estimator.h
@@ -18,7 +18,6 @@
 
 #include "api/array_view.h"
 #include "modules/audio_processing/aec3/aec3_common.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -28,6 +27,9 @@
   explicit ErlEstimator(size_t startup_phase_length_blocks_);
   ~ErlEstimator();
 
+  ErlEstimator(const ErlEstimator&) = delete;
+  ErlEstimator& operator=(const ErlEstimator&) = delete;
+
   // Resets the ERL estimation.
   void Reset();
 
@@ -49,7 +51,6 @@
   float erl_time_domain_;
   int hold_counter_time_domain_;
   size_t blocks_since_reset_ = 0;
-  RTC_DISALLOW_COPY_AND_ASSIGN(ErlEstimator);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/aec3/render_delay_controller_metrics.h b/modules/audio_processing/aec3/render_delay_controller_metrics.h
index 8c527a1..309122d 100644
--- a/modules/audio_processing/aec3/render_delay_controller_metrics.h
+++ b/modules/audio_processing/aec3/render_delay_controller_metrics.h
@@ -15,7 +15,6 @@
 
 #include "absl/types/optional.h"
 #include "modules/audio_processing/aec3/clockdrift_detector.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -24,6 +23,10 @@
  public:
   RenderDelayControllerMetrics();
 
+  RenderDelayControllerMetrics(const RenderDelayControllerMetrics&) = delete;
+  RenderDelayControllerMetrics& operator=(const RenderDelayControllerMetrics&) =
+      delete;
+
   // Updates the metric with new data.
   void Update(absl::optional<size_t> delay_samples,
               size_t buffer_delay_blocks,
@@ -46,8 +49,6 @@
   bool metrics_reported_ = false;
   bool initial_update = true;
   int skew_shift_count_ = 0;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(RenderDelayControllerMetrics);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/aec3/render_signal_analyzer.h b/modules/audio_processing/aec3/render_signal_analyzer.h
index c7a3d8b..2e4aaa4 100644
--- a/modules/audio_processing/aec3/render_signal_analyzer.h
+++ b/modules/audio_processing/aec3/render_signal_analyzer.h
@@ -20,7 +20,6 @@
 #include "modules/audio_processing/aec3/aec3_common.h"
 #include "modules/audio_processing/aec3/render_buffer.h"
 #include "rtc_base/checks.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -30,6 +29,9 @@
   explicit RenderSignalAnalyzer(const EchoCanceller3Config& config);
   ~RenderSignalAnalyzer();
 
+  RenderSignalAnalyzer(const RenderSignalAnalyzer&) = delete;
+  RenderSignalAnalyzer& operator=(const RenderSignalAnalyzer&) = delete;
+
   // Updates the render signal analysis with the most recent render signal.
   void Update(const RenderBuffer& render_buffer,
               const absl::optional<size_t>& delay_partitions);
@@ -53,8 +55,6 @@
   std::array<size_t, kFftLengthBy2 - 1> narrow_band_counters_;
   absl::optional<int> narrow_peak_band_;
   size_t narrow_peak_counter_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(RenderSignalAnalyzer);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/aec3/suppression_filter.h b/modules/audio_processing/aec3/suppression_filter.h
index dcf2292..375bfda 100644
--- a/modules/audio_processing/aec3/suppression_filter.h
+++ b/modules/audio_processing/aec3/suppression_filter.h
@@ -17,7 +17,6 @@
 #include "modules/audio_processing/aec3/aec3_common.h"
 #include "modules/audio_processing/aec3/aec3_fft.h"
 #include "modules/audio_processing/aec3/fft_data.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -27,6 +26,10 @@
                     int sample_rate_hz,
                     size_t num_capture_channels_);
   ~SuppressionFilter();
+
+  SuppressionFilter(const SuppressionFilter&) = delete;
+  SuppressionFilter& operator=(const SuppressionFilter&) = delete;
+
   void ApplyGain(rtc::ArrayView<const FftData> comfort_noise,
                  rtc::ArrayView<const FftData> comfort_noise_high_bands,
                  const std::array<float, kFftLengthBy2Plus1>& suppression_gain,
@@ -40,7 +43,6 @@
   const size_t num_capture_channels_;
   const Aec3Fft fft_;
   std::vector<std::vector<std::array<float, kFftLengthBy2>>> e_output_old_;
-  RTC_DISALLOW_COPY_AND_ASSIGN(SuppressionFilter);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/aec3/suppression_gain.h b/modules/audio_processing/aec3/suppression_gain.h
index 7c4a1c9..c8e13f7 100644
--- a/modules/audio_processing/aec3/suppression_gain.h
+++ b/modules/audio_processing/aec3/suppression_gain.h
@@ -25,7 +25,6 @@
 #include "modules/audio_processing/aec3/nearend_detector.h"
 #include "modules/audio_processing/aec3/render_signal_analyzer.h"
 #include "modules/audio_processing/logging/apm_data_dumper.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -36,6 +35,10 @@
                   int sample_rate_hz,
                   size_t num_capture_channels);
   ~SuppressionGain();
+
+  SuppressionGain(const SuppressionGain&) = delete;
+  SuppressionGain& operator=(const SuppressionGain&) = delete;
+
   void GetGain(
       rtc::ArrayView<const std::array<float, kFftLengthBy2Plus1>>
           nearend_spectrum,
@@ -134,8 +137,6 @@
   // echo spectrum.
   const bool use_unbounded_echo_spectrum_;
   std::unique_ptr<NearendDetector> dominant_nearend_detector_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(SuppressionGain);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/agc2/fixed_digital_level_estimator.h b/modules/audio_processing/agc2/fixed_digital_level_estimator.h
index d96aeda..d26b559 100644
--- a/modules/audio_processing/agc2/fixed_digital_level_estimator.h
+++ b/modules/audio_processing/agc2/fixed_digital_level_estimator.h
@@ -16,7 +16,6 @@
 
 #include "modules/audio_processing/agc2/agc2_common.h"
 #include "modules/audio_processing/include/audio_frame_view.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -34,6 +33,10 @@
   FixedDigitalLevelEstimator(int sample_rate_hz,
                              ApmDataDumper* apm_data_dumper);
 
+  FixedDigitalLevelEstimator(const FixedDigitalLevelEstimator&) = delete;
+  FixedDigitalLevelEstimator& operator=(const FixedDigitalLevelEstimator&) =
+      delete;
+
   // The input is assumed to be in FloatS16 format. Scaled input will
   // produce similarly scaled output. A frame of with kFrameDurationMs
   // ms of audio produces a level estimates in the same scale. The
@@ -57,8 +60,6 @@
   float filter_state_level_;
   int samples_in_frame_;
   int samples_in_sub_frame_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(FixedDigitalLevelEstimator);
 };
 }  // namespace webrtc
 
diff --git a/modules/audio_processing/agc2/interpolated_gain_curve.h b/modules/audio_processing/agc2/interpolated_gain_curve.h
index af99320..b1a5cf4 100644
--- a/modules/audio_processing/agc2/interpolated_gain_curve.h
+++ b/modules/audio_processing/agc2/interpolated_gain_curve.h
@@ -15,7 +15,6 @@
 #include <string>
 
 #include "modules/audio_processing/agc2/agc2_common.h"
-#include "rtc_base/constructor_magic.h"
 #include "rtc_base/gtest_prod_util.h"
 #include "system_wrappers/include/metrics.h"
 
@@ -64,6 +63,9 @@
                         const std::string& histogram_name_prefix);
   ~InterpolatedGainCurve();
 
+  InterpolatedGainCurve(const InterpolatedGainCurve&) = delete;
+  InterpolatedGainCurve& operator=(const InterpolatedGainCurve&) = delete;
+
   Stats get_stats() const { return stats_; }
 
   // Given a non-negative input level (linear scale), a scalar factor to apply
@@ -143,8 +145,6 @@
 
   // Stats.
   mutable Stats stats_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(InterpolatedGainCurve);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/echo_control_mobile_impl.cc b/modules/audio_processing/echo_control_mobile_impl.cc
index 667d6bf..fa5cb8f 100644
--- a/modules/audio_processing/echo_control_mobile_impl.cc
+++ b/modules/audio_processing/echo_control_mobile_impl.cc
@@ -18,7 +18,6 @@
 #include "modules/audio_processing/audio_buffer.h"
 #include "modules/audio_processing/include/audio_processing.h"
 #include "rtc_base/checks.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -85,6 +84,9 @@
     WebRtcAecm_Free(state_);
   }
 
+  Canceller(const Canceller&) = delete;
+  Canceller& operator=(const Canceller&) = delete;
+
   void* state() {
     RTC_DCHECK(state_);
     return state_;
@@ -98,7 +100,6 @@
 
  private:
   void* state_;
-  RTC_DISALLOW_COPY_AND_ASSIGN(Canceller);
 };
 
 EchoControlMobileImpl::EchoControlMobileImpl()
diff --git a/modules/audio_processing/test/conversational_speech/multiend_call.h b/modules/audio_processing/test/conversational_speech/multiend_call.h
index 5b6300f..693f00e 100644
--- a/modules/audio_processing/test/conversational_speech/multiend_call.h
+++ b/modules/audio_processing/test/conversational_speech/multiend_call.h
@@ -24,7 +24,6 @@
 #include "modules/audio_processing/test/conversational_speech/timing.h"
 #include "modules/audio_processing/test/conversational_speech/wavreader_abstract_factory.h"
 #include "modules/audio_processing/test/conversational_speech/wavreader_interface.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 namespace test {
@@ -57,6 +56,9 @@
       std::unique_ptr<WavReaderAbstractFactory> wavreader_abstract_factory);
   ~MultiEndCall();
 
+  MultiEndCall(const MultiEndCall&) = delete;
+  MultiEndCall& operator=(const MultiEndCall&) = delete;
+
   const std::set<std::string>& speaker_names() const { return speaker_names_; }
   const std::map<std::string, std::unique_ptr<WavReaderInterface>>&
   audiotrack_readers() const {
@@ -92,8 +94,6 @@
   int sample_rate_hz_;
   size_t total_duration_samples_;
   std::vector<SpeakingTurn> speaking_turns_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(MultiEndCall);
 };
 
 }  // namespace conversational_speech
diff --git a/modules/audio_processing/test/test_utils.h b/modules/audio_processing/test/test_utils.h
index 30674cb..aa13211 100644
--- a/modules/audio_processing/test/test_utils.h
+++ b/modules/audio_processing/test/test_utils.h
@@ -23,7 +23,6 @@
 #include "common_audio/channel_buffer.h"
 #include "common_audio/wav_file.h"
 #include "modules/audio_processing/include/audio_processing.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
 
@@ -35,13 +34,14 @@
   explicit RawFile(const std::string& filename);
   ~RawFile();
 
+  RawFile(const RawFile&) = delete;
+  RawFile& operator=(const RawFile&) = delete;
+
   void WriteSamples(const int16_t* samples, size_t num_samples);
   void WriteSamples(const float* samples, size_t num_samples);
 
  private:
   FILE* file_handle_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(RawFile);
 };
 
 // Encapsulates samples and metadata for an integer frame.
@@ -78,6 +78,9 @@
   explicit ChannelBufferWavReader(std::unique_ptr<WavReader> file);
   ~ChannelBufferWavReader();
 
+  ChannelBufferWavReader(const ChannelBufferWavReader&) = delete;
+  ChannelBufferWavReader& operator=(const ChannelBufferWavReader&) = delete;
+
   // Reads data from the file according to the `buffer` format. Returns false if
   // a full buffer can't be read from the file.
   bool Read(ChannelBuffer<float>* buffer);
@@ -85,8 +88,6 @@
  private:
   std::unique_ptr<WavReader> file_;
   std::vector<float> interleaved_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(ChannelBufferWavReader);
 };
 
 // Writes ChannelBuffers to a provided WavWriter.
@@ -95,13 +96,14 @@
   explicit ChannelBufferWavWriter(std::unique_ptr<WavWriter> file);
   ~ChannelBufferWavWriter();
 
+  ChannelBufferWavWriter(const ChannelBufferWavWriter&) = delete;
+  ChannelBufferWavWriter& operator=(const ChannelBufferWavWriter&) = delete;
+
   void Write(const ChannelBuffer<float>& buffer);
 
  private:
   std::unique_ptr<WavWriter> file_;
   std::vector<float> interleaved_;
-
-  RTC_DISALLOW_COPY_AND_ASSIGN(ChannelBufferWavWriter);
 };
 
 // Takes a pointer to a vector. Allows appending the samples of channel buffers