GenericValue: add rvalue-ref overloads to AddMember/PushBack
Directly allows temporary GenericValues as parameters: v.AddMember("foo", Value(s.c_str(),alloc), alloc);
This commit is contained in:
parent
a9d2b75179
commit
b5f9d60765
@ -911,6 +911,23 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
|
||||
GenericValue& AddMember(GenericValue&& name, GenericValue&& value, Allocator& allocator) {
|
||||
return AddMember(name, value, allocator);
|
||||
}
|
||||
GenericValue& AddMember(GenericValue&& name, GenericValue& value, Allocator& allocator) {
|
||||
return AddMember(name, value, allocator);
|
||||
}
|
||||
GenericValue& AddMember(GenericValue& name, GenericValue&& value, Allocator& allocator) {
|
||||
return AddMember(name, value, allocator);
|
||||
}
|
||||
GenericValue& AddMember(StringRefType name, GenericValue&& value, Allocator& allocator) {
|
||||
GenericValue n(name);
|
||||
return AddMember(n, value, allocator);
|
||||
}
|
||||
#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS
|
||||
|
||||
|
||||
//! Add a member (name-value pair) to the object.
|
||||
/*! \param name A constant string reference as name of member.
|
||||
\param value Value of any type.
|
||||
@ -1151,6 +1168,12 @@ int z = a[0u].GetInt(); // This works too.
|
||||
return *this;
|
||||
}
|
||||
|
||||
#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
|
||||
GenericValue& PushBack(GenericValue&& value, Allocator& allocator) {
|
||||
return PushBack(value, allocator);
|
||||
}
|
||||
#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS
|
||||
|
||||
//! Append a constant string reference at the end of the array.
|
||||
/*! \param value Constant string reference to be appended.
|
||||
\param allocator Allocator for reallocating memory. It must be the same one used previously. Commonly use GenericDocument::GetAllocator().
|
||||
|
Loading…
x
Reference in New Issue
Block a user