Commit bca5d79f authored by Max Kellermann's avatar Max Kellermann Committed by Max Kellermann

util/AllocatedString: add const_pointer constructor

parent 6e1c8edf
......@@ -65,7 +65,10 @@ public:
BasicAllocatedString(std::nullptr_t n) noexcept
:value(n) {}
explicit BasicAllocatedString(string_view src) noexcept
explicit BasicAllocatedString(string_view src)
:value(Duplicate(src)) {}
explicit BasicAllocatedString(const_pointer src)
:value(Duplicate(src)) {}
BasicAllocatedString(BasicAllocatedString &&src) noexcept
......@@ -144,6 +147,12 @@ private:
*std::copy_n(src.data(), src.size(), p) = SENTINEL;
return p;
}
static pointer Duplicate(const_pointer src) {
return src != nullptr
? Duplicate(std::string_view(src))
: nullptr;
}
};
class AllocatedString : public BasicAllocatedString<char> {
......
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