diff options
author | rsgowman <rgowman@google.com> | 2018-03-27 17:04:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-27 17:04:10 -0400 |
commit | 0e86c06f60262c013c0b653470ac59a3c4d12b46 (patch) | |
tree | f47c6b2fbbf16f419ae4dc13d3869007e573b976 /Firestore/core/src/firebase/firestore/model/field_value.cc | |
parent | cb8c4b6b1f1ad213a5b3272e2c2e94f755bbabf9 (diff) |
Add ObjectValue::Map alias (#967)
Diffstat (limited to 'Firestore/core/src/firebase/firestore/model/field_value.cc')
-rw-r--r-- | Firestore/core/src/firebase/firestore/model/field_value.cc | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/Firestore/core/src/firebase/firestore/model/field_value.cc b/Firestore/core/src/firebase/firestore/model/field_value.cc index a38a676..2c1af53 100644 --- a/Firestore/core/src/firebase/firestore/model/field_value.cc +++ b/Firestore/core/src/firebase/firestore/model/field_value.cc @@ -113,8 +113,8 @@ FieldValue& FieldValue::operator=(const FieldValue& value) { } case Type::Object: { // copy-and-swap - std::map<std::string, FieldValue> tmp = value.object_value_; - std::swap(object_value_, tmp); + ObjectValue::Map tmp = value.object_value_.internal_value; + std::swap(object_value_.internal_value, tmp); break; } default: @@ -280,16 +280,15 @@ FieldValue FieldValue::ArrayValue(std::vector<FieldValue>&& value) { return result; } -FieldValue FieldValue::ObjectValue( - const std::map<std::string, FieldValue>& value) { - std::map<std::string, FieldValue> copy(value); - return ObjectValue(std::move(copy)); +FieldValue FieldValue::ObjectValueFromMap(const ObjectValue::Map& value) { + ObjectValue::Map copy(value); + return ObjectValueFromMap(std::move(copy)); } -FieldValue FieldValue::ObjectValue(std::map<std::string, FieldValue>&& value) { +FieldValue FieldValue::ObjectValueFromMap(ObjectValue::Map&& value) { FieldValue result; result.SwitchTo(Type::Object); - std::swap(result.object_value_, value); + std::swap(result.object_value_.internal_value, value); return result; } @@ -386,7 +385,7 @@ void FieldValue::SwitchTo(const Type type) { array_value_.~vector(); break; case Type::Object: - object_value_.~map(); + object_value_.internal_value.~map(); break; default: {} // The other types where there is nothing to worry about. } @@ -417,7 +416,7 @@ void FieldValue::SwitchTo(const Type type) { new (&array_value_) std::vector<FieldValue>(); break; case Type::Object: - new (&object_value_) std::map<std::string, FieldValue>(); + new (&object_value_) ObjectValue{}; break; default: {} // The other types where there is nothing to worry about. } |