mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00
Mark rtc::CopyOnWriteBuffer move constructor noexcept
To allow use more efficient move instead of copy when wrapped into std::vector Bug: webrtc:15263 Change-Id: Ie085e3ae41fc4e49b350e430a6dea4767777bbf4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311460 Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Auto-Submit: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#40403}
This commit is contained in:
parent
cc6042d876
commit
26f72901c6
3 changed files with 4 additions and 2 deletions
|
@ -23,7 +23,7 @@ CopyOnWriteBuffer::CopyOnWriteBuffer() : offset_(0), size_(0) {
|
|||
CopyOnWriteBuffer::CopyOnWriteBuffer(const CopyOnWriteBuffer& buf)
|
||||
: buffer_(buf.buffer_), offset_(buf.offset_), size_(buf.size_) {}
|
||||
|
||||
CopyOnWriteBuffer::CopyOnWriteBuffer(CopyOnWriteBuffer&& buf)
|
||||
CopyOnWriteBuffer::CopyOnWriteBuffer(CopyOnWriteBuffer&& buf) noexcept
|
||||
: buffer_(std::move(buf.buffer_)), offset_(buf.offset_), size_(buf.size_) {
|
||||
buf.offset_ = 0;
|
||||
buf.size_ = 0;
|
||||
|
|
|
@ -36,7 +36,7 @@ class RTC_EXPORT CopyOnWriteBuffer {
|
|||
// Share the data with an existing buffer.
|
||||
CopyOnWriteBuffer(const CopyOnWriteBuffer& buf);
|
||||
// Move contents from an existing buffer.
|
||||
CopyOnWriteBuffer(CopyOnWriteBuffer&& buf);
|
||||
CopyOnWriteBuffer(CopyOnWriteBuffer&& buf) noexcept;
|
||||
|
||||
// Construct a buffer from a string, convenient for unittests.
|
||||
explicit CopyOnWriteBuffer(absl::string_view s);
|
||||
|
|
|
@ -52,6 +52,8 @@ TEST(CopyOnWriteBufferTest, TestCreateEmptyData) {
|
|||
}
|
||||
|
||||
TEST(CopyOnWriteBufferTest, TestMoveConstruct) {
|
||||
EXPECT_TRUE(std::is_nothrow_move_constructible_v<CopyOnWriteBuffer>);
|
||||
|
||||
CopyOnWriteBuffer buf1(kTestData, 3, 10);
|
||||
size_t buf1_size = buf1.size();
|
||||
size_t buf1_capacity = buf1.capacity();
|
||||
|
|
Loading…
Reference in a new issue