[wpinet] uv::Buffer: Add bytes() accessor (#5653)

Also add uint8_t constructors.
This commit is contained in:
Peter Johnson
2023-09-17 20:00:56 -07:00
committed by GitHub
parent ae59a2fba2
commit 8896515eb7

View File

@@ -42,10 +42,23 @@ class Buffer : public uv_buf_t {
base = const_cast<char*>(base_);
len = static_cast<decltype(len)>(len_);
}
Buffer(uint8_t* base_, size_t len_) {
base = reinterpret_cast<char*>(base_);
len = static_cast<decltype(len)>(len_);
}
Buffer(const uint8_t* base_, size_t len_) {
base = reinterpret_cast<char*>(const_cast<uint8_t*>(base_));
len = static_cast<decltype(len)>(len_);
}
std::span<const char> data() const { return {base, len}; }
std::span<char> data() { return {base, len}; }
std::span<const uint8_t> bytes() const {
return {reinterpret_cast<const uint8_t*>(base), len};
}
std::span<uint8_t> bytes() { return {reinterpret_cast<uint8_t*>(base), len}; }
operator std::span<const char>() const { return data(); } // NOLINT
operator std::span<char>() { return data(); } // NOLINT