🔨 trying to fix the leak
Part 1: properly use forwarding
This commit is contained in:
parent
38345fd06c
commit
97559bb1b2
3 changed files with 8 additions and 8 deletions
|
@ -1130,7 +1130,7 @@ scan_number_done:
|
||||||
}
|
}
|
||||||
|
|
||||||
/// return current string value (implicitly resets the token; useful only once)
|
/// return current string value (implicitly resets the token; useful only once)
|
||||||
std::string move_string()
|
std::string&& move_string()
|
||||||
{
|
{
|
||||||
return std::move(token_buffer);
|
return std::move(token_buffer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -953,7 +953,7 @@ class basic_json
|
||||||
/// constructor for rvalue strings
|
/// constructor for rvalue strings
|
||||||
json_value(string_t&& value)
|
json_value(string_t&& value)
|
||||||
{
|
{
|
||||||
string = create<string_t>(std::move(value));
|
string = create<string_t>(std::forward < string_t&& > (value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// constructor for objects
|
/// constructor for objects
|
||||||
|
@ -965,7 +965,7 @@ class basic_json
|
||||||
/// constructor for rvalue objects
|
/// constructor for rvalue objects
|
||||||
json_value(object_t&& value)
|
json_value(object_t&& value)
|
||||||
{
|
{
|
||||||
object = create<object_t>(std::move(value));
|
object = create<object_t>(std::forward < object_t&& > (value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// constructor for arrays
|
/// constructor for arrays
|
||||||
|
@ -977,7 +977,7 @@ class basic_json
|
||||||
/// constructor for rvalue arrays
|
/// constructor for rvalue arrays
|
||||||
json_value(array_t&& value)
|
json_value(array_t&& value)
|
||||||
{
|
{
|
||||||
array = create<array_t>(std::move(value));
|
array = create<array_t>(std::forward < array_t&& > (value));
|
||||||
}
|
}
|
||||||
|
|
||||||
void destroy(value_t t) noexcept
|
void destroy(value_t t) noexcept
|
||||||
|
|
|
@ -2969,7 +2969,7 @@ scan_number_done:
|
||||||
}
|
}
|
||||||
|
|
||||||
/// return current string value (implicitly resets the token; useful only once)
|
/// return current string value (implicitly resets the token; useful only once)
|
||||||
std::string move_string()
|
std::string&& move_string()
|
||||||
{
|
{
|
||||||
return std::move(token_buffer);
|
return std::move(token_buffer);
|
||||||
}
|
}
|
||||||
|
@ -10561,7 +10561,7 @@ class basic_json
|
||||||
/// constructor for rvalue strings
|
/// constructor for rvalue strings
|
||||||
json_value(string_t&& value)
|
json_value(string_t&& value)
|
||||||
{
|
{
|
||||||
string = create<string_t>(std::move(value));
|
string = create<string_t>(std::forward < string_t&& > (value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// constructor for objects
|
/// constructor for objects
|
||||||
|
@ -10573,7 +10573,7 @@ class basic_json
|
||||||
/// constructor for rvalue objects
|
/// constructor for rvalue objects
|
||||||
json_value(object_t&& value)
|
json_value(object_t&& value)
|
||||||
{
|
{
|
||||||
object = create<object_t>(std::move(value));
|
object = create<object_t>(std::forward < object_t&& > (value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// constructor for arrays
|
/// constructor for arrays
|
||||||
|
@ -10585,7 +10585,7 @@ class basic_json
|
||||||
/// constructor for rvalue arrays
|
/// constructor for rvalue arrays
|
||||||
json_value(array_t&& value)
|
json_value(array_t&& value)
|
||||||
{
|
{
|
||||||
array = create<array_t>(std::move(value));
|
array = create<array_t>(std::forward < array_t&& > (value));
|
||||||
}
|
}
|
||||||
|
|
||||||
void destroy(value_t t) noexcept
|
void destroy(value_t t) noexcept
|
||||||
|
|
Loading…
Reference in a new issue