diff --git a/README.md b/README.md index 952c9cf..60c4d12 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,9 @@ The iterators returned by the container need to be random access iterators. - `basic_ring_buffer(const Container&)`: copy-constructs the container and value-initializes the internal `front_index` variable of `size_type`. +- `basic_ring_buffer(Container&&)`: + move-constructs the container and value-initializes the internal + `front_index` variable of `size_type`. - `basic_ring_buffer(const basic_ring_buffer&)`: copy-constructs a `basic_ring_buffer` from another instance with the same container type. diff --git a/include/ring-buffer.h b/include/ring-buffer.h index ee85626..88200a5 100644 --- a/include/ring-buffer.h +++ b/include/ring-buffer.h @@ -22,6 +22,7 @@ public: basic_ring_buffer() = default; ~basic_ring_buffer() = default; CONSTEXPR basic_ring_buffer(const Container& other) COND_NOEXCEPT(noexcept(Container(other))) : container(other) {} + CONSTEXPR basic_ring_buffer(Container&& other) COND_NOEXCEPT(noexcept(Container(other))) : container(other) {} basic_ring_buffer(const basic_ring_buffer& other) = default; basic_ring_buffer(basic_ring_buffer&& other) = default; basic_ring_buffer& operator=(const basic_ring_buffer& other) = default;