Add an easier std::string Variant constructor.

This commit is contained in:
Alex Szpakowski
2019-07-20 10:59:12 -03:00
parent 32f381576e
commit b43074efa5
2 changed files with 12 additions and 4 deletions
+8 -3
View File
@@ -58,21 +58,26 @@ Variant::Variant(double number)
data.number = number;
}
Variant::Variant(const char *string, size_t len)
Variant::Variant(const char *str, size_t len)
{
if (len <= MAX_SMALL_STRING_LENGTH)
{
type = SMALLSTRING;
memcpy(data.smallstring.str, string, len);
memcpy(data.smallstring.str, str, len);
data.smallstring.len = (uint8) len;
}
else
{
type = STRING;
data.string = new SharedString(string, len);
data.string = new SharedString(str, len);
}
}
Variant::Variant(const std::string &str)
: Variant(str.c_str(), str.length())
{
}
Variant::Variant(void *lightuserdata)
: type(LUSERDATA)
{