mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:47:44 +00:00
AK: Add JsonObject::set(key, &&value) overload.
This dodges a whole bunch of value copying in JsonParser.
This commit is contained in:
parent
7bb1e465c6
commit
a8aadf73e9
2 changed files with 7 additions and 2 deletions
|
@ -22,9 +22,14 @@ public:
|
||||||
return (*it).value;
|
return (*it).value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void set(const String& key, JsonValue&& value)
|
||||||
|
{
|
||||||
|
m_members.set(key, move(value));
|
||||||
|
}
|
||||||
|
|
||||||
void set(const String& key, const JsonValue& value)
|
void set(const String& key, const JsonValue& value)
|
||||||
{
|
{
|
||||||
m_members.set(key, value);
|
m_members.set(key, JsonValue(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Callback>
|
template<typename Callback>
|
||||||
|
|
|
@ -108,7 +108,7 @@ JsonValue JsonParser::parse_object()
|
||||||
consume_specific(':');
|
consume_specific(':');
|
||||||
consume_whitespace();
|
consume_whitespace();
|
||||||
auto value = parse();
|
auto value = parse();
|
||||||
object.set(name, value);
|
object.set(name, move(value));
|
||||||
consume_whitespace();
|
consume_whitespace();
|
||||||
if (peek() == '}')
|
if (peek() == '}')
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue