From 6ca0a31708ed1ddb06c060ceed5c5d5170af485c Mon Sep 17 00:00:00 2001 From: kwiberg Date: Fri, 15 Apr 2016 05:24:56 -0700 Subject: [PATCH] We no longer use compilers that can't =default move construction and assignment Review URL: https://codereview.webrtc.org/1891483006 Cr-Commit-Position: refs/heads/master@{#12376} --- webrtc/base/optional.h | 11 ++--------- .../audio_coding/codecs/cng/audio_encoder_cng.cc | 12 +----------- .../codecs/red/audio_encoder_copy_red.cc | 7 +------ 3 files changed, 4 insertions(+), 26 deletions(-) diff --git a/webrtc/base/optional.h b/webrtc/base/optional.h index b8071e6358..f25086569c 100644 --- a/webrtc/base/optional.h +++ b/webrtc/base/optional.h @@ -69,19 +69,12 @@ class Optional final { 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/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc b/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc index 3b48131a75..2f80944be2 100644 --- a/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc +++ b/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc @@ -37,17 +37,7 @@ std::unique_ptr CreateCngInst( } // 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/webrtc/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc b/webrtc/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc index 4275f54103..b4e95d3b08 100644 --- a/webrtc/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc +++ b/webrtc/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)