We no longer use compilers that can't =default move construction and assignment
Review URL: https://codereview.webrtc.org/1891483006
Cr-Original-Commit-Position: refs/heads/master@{#12376}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 6ca0a31708ed1ddb06c060ceed5c5d5170af485c
diff --git a/base/optional.h b/base/optional.h
index b8071e6..f250865 100644
--- a/base/optional.h
+++ b/base/optional.h
@@ -69,19 +69,12 @@
explicit Optional(T&& val) : value_(std::move(val)), has_value_(true) {}
// Copy and move constructors.
- // TODO(kwiberg): =default the move constructor when MSVC supports it.
Optional(const Optional&) = default;
- Optional(Optional&& m)
- : value_(std::move(m.value_)), has_value_(m.has_value_) {}
+ Optional(Optional&&) = default;
// Assignment.
- // TODO(kwiberg): =default the move assignment op when MSVC supports it.
Optional& operator=(const Optional&) = default;
- Optional& operator=(Optional&& m) {
- value_ = std::move(m.value_);
- has_value_ = m.has_value_;
- return *this;
- }
+ Optional& operator=(Optional&&) = default;
friend void swap(Optional& m1, Optional& m2) {
using std::swap;
diff --git a/modules/audio_coding/codecs/cng/audio_encoder_cng.cc b/modules/audio_coding/codecs/cng/audio_encoder_cng.cc
index 3b48131..2f80944 100644
--- a/modules/audio_coding/codecs/cng/audio_encoder_cng.cc
+++ b/modules/audio_coding/codecs/cng/audio_encoder_cng.cc
@@ -37,17 +37,7 @@
} // namespace
AudioEncoderCng::Config::Config() = default;
-
-// TODO(kwiberg): =default this when Visual Studio learns to handle it.
-AudioEncoderCng::Config::Config(Config&& c)
- : num_channels(c.num_channels),
- payload_type(c.payload_type),
- speech_encoder(std::move(c.speech_encoder)),
- vad_mode(c.vad_mode),
- sid_frame_interval_ms(c.sid_frame_interval_ms),
- num_cng_coefficients(c.num_cng_coefficients),
- vad(c.vad) {}
-
+AudioEncoderCng::Config::Config(Config&&) = default;
AudioEncoderCng::Config::~Config() = default;
bool AudioEncoderCng::Config::IsOk() const {
diff --git a/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc b/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc
index 4275f54..b4e95d3 100644
--- a/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc
+++ b/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc
@@ -19,12 +19,7 @@
namespace webrtc {
AudioEncoderCopyRed::Config::Config() = default;
-
-// TODO(kwiberg): =default this when Visual Studio learns to handle it.
-AudioEncoderCopyRed::Config::Config(Config&& c)
- : payload_type(c.payload_type),
- speech_encoder(std::move(c.speech_encoder)) {}
-
+AudioEncoderCopyRed::Config::Config(Config&&) = default;
AudioEncoderCopyRed::Config::~Config() = default;
AudioEncoderCopyRed::AudioEncoderCopyRed(Config&& config)