aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/src/firebase/firestore/model/field_value.cc
diff options
context:
space:
mode:
authorGravatar rsgowman <rgowman@google.com>2018-03-27 17:04:10 -0400
committerGravatar GitHub <noreply@github.com>2018-03-27 17:04:10 -0400
commit0e86c06f60262c013c0b653470ac59a3c4d12b46 (patch)
treef47c6b2fbbf16f419ae4dc13d3869007e573b976 /Firestore/core/src/firebase/firestore/model/field_value.cc
parentcb8c4b6b1f1ad213a5b3272e2c2e94f755bbabf9 (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.cc19
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.
}