SmallString: Add missing constructors/move operators

This commit is contained in:
Stenzek 2023-12-09 22:06:59 +10:00
parent 61783d4a34
commit a9ee2a34d8
No known key found for this signature in database
1 changed files with 48 additions and 0 deletions

View File

@ -243,12 +243,60 @@ public:
assign(move);
}
ALWAYS_INLINE SmallStackString(const SmallStackString& copy)
{
init();
assign(copy);
}
ALWAYS_INLINE SmallStackString(SmallStackString&& move)
{
init();
assign(move);
}
ALWAYS_INLINE SmallStackString(const std::string_view& sv)
{
init();
assign(sv);
}
ALWAYS_INLINE SmallStackString& operator=(const SmallStringBase& copy)
{
assign(copy);
return *this;
}
ALWAYS_INLINE SmallStackString& operator=(SmallStringBase&& move)
{
assign(move);
return *this;
}
ALWAYS_INLINE SmallStackString& operator=(const SmallStackString& copy)
{
assign(copy);
return *this;
}
ALWAYS_INLINE SmallStackString& operator=(SmallStackString&& move)
{
assign(move);
return *this;
}
ALWAYS_INLINE SmallStackString& operator=(const std::string_view& sv)
{
assign(sv);
return *this;
}
ALWAYS_INLINE SmallStackString& operator=(const char* str)
{
assign(str);
return *this;
}
// Override the fromstring method
static SmallStackString from_format(const char* format, ...) printflike(1, 2);