MCPcopy Create free account
hub / github.com/ShivaBhattacharjee/KeyZen / Buffer

Class Buffer

data/cpp/07_move_semantics.cpp:5–30  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3#include <utility>
4
5class Buffer {
6public:
7 explicit Buffer(size_t size)
8 : data_(new char[size]), size_(size) {
9 std::cout << "alloc " << size << "\n";
10 }
11
12 ~Buffer() {
13 delete[] data_;
14 std::cout << "free\n";
15 }
16
17 Buffer(Buffer&& other) noexcept
18 : data_(other.data_), size_(other.size_) {
19 other.data_ = nullptr;
20 other.size_ = 0;
21 std::cout << "move\n";
22 }
23
24 Buffer(const Buffer&) = delete;
25 Buffer& operator=(const Buffer&) = delete;
26
27private:
28 char* data_;
29 size_t size_;
30};
31
32int main() {
33 Buffer a(1024);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected