Commit db5cab6e authored by Daniel Cheng's avatar Daniel Cheng Committed by Commit Bot

Use std::exchange() idiom to implement SharedMemoryMapping move ctor.

Bug: none
Change-Id: I0dda0908227f65cda8a35931e83fd94a308c6f91
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2083563
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Auto-Submit: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarkylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#746486}
parent 5461f770
...@@ -34,21 +34,18 @@ namespace base { ...@@ -34,21 +34,18 @@ namespace base {
SharedMemoryMapping::SharedMemoryMapping() = default; SharedMemoryMapping::SharedMemoryMapping() = default;
SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept
: memory_(mapping.memory_), : memory_(std::exchange(mapping.memory_, nullptr)),
size_(mapping.size_), size_(mapping.size_),
mapped_size_(mapping.mapped_size_), mapped_size_(mapping.mapped_size_),
guid_(mapping.guid_) { guid_(mapping.guid_) {}
mapping.memory_ = nullptr;
}
SharedMemoryMapping& SharedMemoryMapping::operator=( SharedMemoryMapping& SharedMemoryMapping::operator=(
SharedMemoryMapping&& mapping) noexcept { SharedMemoryMapping&& mapping) noexcept {
Unmap(); Unmap();
memory_ = mapping.memory_; memory_ = std::exchange(mapping.memory_, nullptr);
size_ = mapping.size_; size_ = mapping.size_;
mapped_size_ = mapping.mapped_size_; mapped_size_ = mapping.mapped_size_;
guid_ = mapping.guid_; guid_ = mapping.guid_;
mapping.memory_ = nullptr;
return *this; return *this;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment