• Home
  • Raw
  • Download

Lines Matching full:value

42                   static_cast<size_t>(Value::Type::LIST) + 1,
82 std::string DebugStringImpl(ValueView value) { in DebugStringImpl() argument
84 JSONWriter::WriteWithOptions(value, JSONWriter::OPTIONS_PRETTY_PRINT, &json); in DebugStringImpl()
90 // A helper used to provide templated functions for cloning to Value, and
92 // to the special private constructors in Value, created specifically for
94 class Value::CloningHelper {
99 static const T& UnwrapReference(std::reference_wrapper<const T> value) { in UnwrapReference() argument
100 return value.get(); in UnwrapReference()
104 static const T& UnwrapReference(const T& value) { in UnwrapReference() argument
105 return value; in UnwrapReference()
108 // Returns a new Value object using the contents of the |storage| variant.
110 static Value Clone(const Storage& storage) { in Clone()
113 const auto& value = UnwrapReference(member); in Clone() local
114 using T = std::decay_t<decltype(value)>; in Clone()
115 if constexpr (std::is_same_v<T, Value::Dict> || in Clone()
116 std::is_same_v<T, Value::List>) { in Clone()
117 return Value(value.Clone()); in Clone()
119 return Value(value); in Clone()
127 Value Value::FromUniquePtrValue(std::unique_ptr<Value> val) { in FromUniquePtrValue()
132 std::unique_ptr<Value> Value::ToUniquePtrValue(Value val) { in ToUniquePtrValue()
133 return std::make_unique<Value>(std::move(val)); in ToUniquePtrValue()
136 Value::Value() noexcept = default;
138 Value::Value(Value&&) noexcept = default;
140 Value& Value::operator=(Value&&) noexcept = default;
142 Value::Value(Type type) { in Value() function in base::Value
143 // Initialize with the default value. in Value()
174 Value::Value(bool value) : data_(value) {} in Value() function in base::Value
176 Value::Value(int value) : data_(value) {} in Value() function in base::Value
178 Value::Value(double value) in Value() function in base::Value
179 : data_(absl::in_place_type_t<DoubleStorage>(), value) {} in Value()
181 Value::Value(StringPiece value) : Value(std::string(value)) {} in Value() function in base::Value
183 Value::Value(StringPiece16 value) : Value(UTF16ToUTF8(value)) {} in Value() function in base::Value
185 Value::Value(const char* value) : Value(std::string(value)) {} in Value() function in base::Value
187 Value::Value(const char16_t* value) : Value(UTF16ToUTF8(value)) {} in Value() function in base::Value
189 Value::Value(std::string&& value) noexcept : data_(std::move(value)) { in Value() function in base::Value
193 Value::Value(const std::vector<char>& value) in Value() function in base::Value
194 : data_(absl::in_place_type_t<BlobStorage>(), value.begin(), value.end()) {} in Value()
196 Value::Value(base::span<const uint8_t> value) in Value() function in base::Value
197 : data_(absl::in_place_type_t<BlobStorage>(), value.size()) { in Value()
200 ranges::copy(value, absl::get<BlobStorage>(data_).data()); in Value()
203 Value::Value(BlobStorage&& value) noexcept : data_(std::move(value)) {} in Value() function in base::Value
205 Value::Value(Dict&& value) noexcept : data_(std::move(value)) {} in Value() function in base::Value
207 Value::Value(List&& value) noexcept : data_(std::move(value)) {} in Value() function in base::Value
209 Value::Value(absl::monostate) {} in Value() function in base::Value
211 Value::Value(DoubleStorage storage) : data_(std::move(storage)) {} in Value() function in base::Value
213 Value::DoubleStorage::DoubleStorage(double v) : v_(bit_cast<decltype(v_)>(v)) { in DoubleStorage()
221 Value Value::Clone() const { in Clone()
225 Value::~Value() = default;
228 const char* Value::GetTypeName(Value::Type type) { in GetTypeName()
234 absl::optional<bool> Value::GetIfBool() const { in GetIfBool()
238 absl::optional<int> Value::GetIfInt() const { in GetIfInt()
242 absl::optional<double> Value::GetIfDouble() const { in GetIfDouble()
247 const std::string* Value::GetIfString() const { in GetIfString()
251 std::string* Value::GetIfString() { in GetIfString()
255 const Value::BlobStorage* Value::GetIfBlob() const { in GetIfBlob()
259 const Value::Dict* Value::GetIfDict() const { in GetIfDict()
263 Value::Dict* Value::GetIfDict() { in GetIfDict()
267 const Value::List* Value::GetIfList() const { in GetIfList()
271 Value::List* Value::GetIfList() { in GetIfList()
275 bool Value::GetBool() const { in GetBool()
280 int Value::GetInt() const { in GetInt()
285 double Value::GetDouble() const { in GetDouble()
296 const std::string& Value::GetString() const { in GetString()
301 std::string& Value::GetString() { in GetString()
306 const Value::BlobStorage& Value::GetBlob() const { in GetBlob()
311 const Value::Dict& Value::GetDict() const { in GetDict()
316 Value::Dict& Value::GetDict() { in GetDict()
321 const Value::List& Value::GetList() const { in GetList()
326 Value::List& Value::GetList() { in GetList()
331 std::string Value::TakeString() && { in TakeString()
335 Value::Dict Value::TakeDict() && { in TakeDict()
339 Value::List Value::TakeList() && { in TakeList()
343 Value::Dict::Dict() = default;
345 Value::Dict::Dict(Dict&&) noexcept = default;
347 Value::Dict& Value::Dict::operator=(Dict&&) noexcept = default;
349 Value::Dict::~Dict() = default;
351 bool Value::Dict::empty() const { in empty()
355 size_t Value::Dict::size() const { in size()
359 Value::Dict::iterator Value::Dict::begin() { in begin()
363 Value::Dict::const_iterator Value::Dict::begin() const { in begin()
367 Value::Dict::const_iterator Value::Dict::cbegin() const { in cbegin()
371 Value::Dict::iterator Value::Dict::end() { in end()
375 Value::Dict::const_iterator Value::Dict::end() const { in end()
379 Value::Dict::const_iterator Value::Dict::cend() const { in cend()
383 bool Value::Dict::contains(base::StringPiece key) const { in contains()
389 void Value::Dict::clear() { in clear()
393 Value::Dict::iterator Value::Dict::erase(iterator pos) { in erase()
397 Value::Dict::iterator Value::Dict::erase(const_iterator pos) { in erase()
401 Value::Dict Value::Dict::Clone() const { in Clone()
405 void Value::Dict::Merge(Dict dict) { in Merge()
406 for (const auto [key, value] : dict) { in Merge()
407 if (Dict* nested_dict = value.GetIfDict()) { in Merge()
416 // Otherwise, unconditionally set the value, overwriting any value that may in Merge()
418 Set(key, std::move(value)); in Merge()
422 const Value* Value::Dict::Find(StringPiece key) const { in Find()
429 Value* Value::Dict::Find(StringPiece key) { in Find()
434 absl::optional<bool> Value::Dict::FindBool(StringPiece key) const { in FindBool()
435 const Value* v = Find(key); in FindBool()
439 absl::optional<int> Value::Dict::FindInt(StringPiece key) const { in FindInt()
440 const Value* v = Find(key); in FindInt()
444 absl::optional<double> Value::Dict::FindDouble(StringPiece key) const { in FindDouble()
445 const Value* v = Find(key); in FindDouble()
449 const std::string* Value::Dict::FindString(StringPiece key) const { in FindString()
450 const Value* v = Find(key); in FindString()
454 std::string* Value::Dict::FindString(StringPiece key) { in FindString()
455 Value* v = Find(key); in FindString()
459 const Value::BlobStorage* Value::Dict::FindBlob(StringPiece key) const { in FindBlob()
460 const Value* v = Find(key); in FindBlob()
464 const Value::Dict* Value::Dict::FindDict(StringPiece key) const { in FindDict()
465 const Value* v = Find(key); in FindDict()
469 Value::Dict* Value::Dict::FindDict(StringPiece key) { in FindDict()
470 Value* v = Find(key); in FindDict()
474 const Value::List* Value::Dict::FindList(StringPiece key) const { in FindList()
475 const Value* v = Find(key); in FindList()
479 Value::List* Value::Dict::FindList(StringPiece key) { in FindList()
480 Value* v = Find(key); in FindList()
484 Value::Dict* Value::Dict::EnsureDict(StringPiece key) { in EnsureDict()
485 Value::Dict* dict = FindDict(key); in EnsureDict()
489 return &Set(key, base::Value::Dict())->GetDict(); in EnsureDict()
492 Value::List* Value::Dict::EnsureList(StringPiece key) { in EnsureList()
493 Value::List* list = FindList(key); in EnsureList()
497 return &Set(key, base::Value::List())->GetList(); in EnsureList()
500 Value* Value::Dict::Set(StringPiece key, Value&& value) & { in Set() argument
503 auto wrapped_value = std::make_unique<Value>(std::move(value)); in Set()
509 Value* Value::Dict::Set(StringPiece key, bool value) & { in Set() argument
510 return Set(key, Value(value)); in Set()
513 Value* Value::Dict::Set(StringPiece key, int value) & { in Set() argument
514 return Set(key, Value(value)); in Set()
517 Value* Value::Dict::Set(StringPiece key, double value) & { in Set() argument
518 return Set(key, Value(value)); in Set()
521 Value* Value::Dict::Set(StringPiece key, StringPiece value) & { in Set() argument
522 return Set(key, Value(value)); in Set()
525 Value* Value::Dict::Set(StringPiece key, StringPiece16 value) & { in Set() argument
526 return Set(key, Value(value)); in Set()
529 Value* Value::Dict::Set(StringPiece key, const char* value) & { in Set() argument
530 return Set(key, Value(value)); in Set()
533 Value* Value::Dict::Set(StringPiece key, const char16_t* value) & { in Set() argument
534 return Set(key, Value(value)); in Set()
537 Value* Value::Dict::Set(StringPiece key, std::string&& value) & { in Set() argument
538 return Set(key, Value(std::move(value))); in Set()
541 Value* Value::Dict::Set(StringPiece key, BlobStorage&& value) & { in Set() argument
542 return Set(key, Value(std::move(value))); in Set()
545 Value* Value::Dict::Set(StringPiece key, Dict&& value) & { in Set() argument
546 return Set(key, Value(std::move(value))); in Set()
549 Value* Value::Dict::Set(StringPiece key, List&& value) & { in Set() argument
550 return Set(key, Value(std::move(value))); in Set()
553 Value::Dict&& Value::Dict::Set(StringPiece key, Value&& value) && { in Set() argument
555 storage_.insert_or_assign(key, std::make_unique<Value>(std::move(value))); in Set()
559 Value::Dict&& Value::Dict::Set(StringPiece key, bool value) && { in Set() argument
560 return std::move(*this).Set(key, Value(value)); in Set()
563 Value::Dict&& Value::Dict::Set(StringPiece key, int value) && { in Set() argument
564 return std::move(*this).Set(key, Value(value)); in Set()
567 Value::Dict&& Value::Dict::Set(StringPiece key, double value) && { in Set() argument
568 return std::move(*this).Set(key, Value(value)); in Set()
571 Value::Dict&& Value::Dict::Set(StringPiece key, StringPiece value) && { in Set() argument
572 return std::move(*this).Set(key, Value(value)); in Set()
575 Value::Dict&& Value::Dict::Set(StringPiece key, StringPiece16 value) && { in Set() argument
576 return std::move(*this).Set(key, Value(value)); in Set()
579 Value::Dict&& Value::Dict::Set(StringPiece key, const char* value) && { in Set() argument
580 return std::move(*this).Set(key, Value(value)); in Set()
583 Value::Dict&& Value::Dict::Set(StringPiece key, const char16_t* value) && { in Set() argument
584 return std::move(*this).Set(key, Value(value)); in Set()
587 Value::Dict&& Value::Dict::Set(StringPiece key, std::string&& value) && { in Set() argument
588 return std::move(*this).Set(key, Value(std::move(value))); in Set()
591 Value::Dict&& Value::Dict::Set(StringPiece key, BlobStorage&& value) && { in Set() argument
592 return std::move(*this).Set(key, Value(std::move(value))); in Set()
595 Value::Dict&& Value::Dict::Set(StringPiece key, Dict&& value) && { in Set() argument
596 return std::move(*this).Set(key, Value(std::move(value))); in Set()
599 Value::Dict&& Value::Dict::Set(StringPiece key, List&& value) && { in Set() argument
600 return std::move(*this).Set(key, Value(std::move(value))); in Set()
603 bool Value::Dict::Remove(StringPiece key) { in Remove()
609 absl::optional<Value> Value::Dict::Extract(StringPiece key) { in Extract()
616 Value v = std::move(*it->second); in Extract()
621 const Value* Value::Dict::FindByDottedPath(StringPiece path) const { in FindByDottedPath()
626 const Value* current_value = nullptr; in FindByDottedPath()
643 Value* Value::Dict::FindByDottedPath(StringPiece path) { in FindByDottedPath()
644 return const_cast<Value*>(std::as_const(*this).FindByDottedPath(path)); in FindByDottedPath()
647 absl::optional<bool> Value::Dict::FindBoolByDottedPath(StringPiece path) const { in FindBoolByDottedPath()
648 const Value* v = FindByDottedPath(path); in FindBoolByDottedPath()
652 absl::optional<int> Value::Dict::FindIntByDottedPath(StringPiece path) const { in FindIntByDottedPath()
653 const Value* v = FindByDottedPath(path); in FindIntByDottedPath()
657 absl::optional<double> Value::Dict::FindDoubleByDottedPath( in FindDoubleByDottedPath()
659 const Value* v = FindByDottedPath(path); in FindDoubleByDottedPath()
663 const std::string* Value::Dict::FindStringByDottedPath(StringPiece path) const { in FindStringByDottedPath()
664 const Value* v = FindByDottedPath(path); in FindStringByDottedPath()
668 std::string* Value::Dict::FindStringByDottedPath(StringPiece path) { in FindStringByDottedPath()
669 Value* v = FindByDottedPath(path); in FindStringByDottedPath()
673 const Value::BlobStorage* Value::Dict::FindBlobByDottedPath( in FindBlobByDottedPath()
675 const Value* v = FindByDottedPath(path); in FindBlobByDottedPath()
679 const Value::Dict* Value::Dict::FindDictByDottedPath(StringPiece path) const { in FindDictByDottedPath()
680 const Value* v = FindByDottedPath(path); in FindDictByDottedPath()
684 Value::Dict* Value::Dict::FindDictByDottedPath(StringPiece path) { in FindDictByDottedPath()
685 Value* v = FindByDottedPath(path); in FindDictByDottedPath()
689 const Value::List* Value::Dict::FindListByDottedPath(StringPiece path) const { in FindListByDottedPath()
690 const Value* v = FindByDottedPath(path); in FindListByDottedPath()
694 Value::List* Value::Dict::FindListByDottedPath(StringPiece path) { in FindListByDottedPath()
695 Value* v = FindByDottedPath(path); in FindListByDottedPath()
699 Value* Value::Dict::SetByDottedPath(StringPiece path, Value&& value) { in SetByDottedPath() argument
704 Value* current_value = nullptr; in SetByDottedPath()
709 return current_dict->Set(next_key, std::move(value)); in SetByDottedPath()
716 // node that is not a `Value::Type::DICT` is an error. in SetByDottedPath()
727 Value* Value::Dict::SetByDottedPath(StringPiece path, bool value) { in SetByDottedPath() argument
728 return SetByDottedPath(path, Value(value)); in SetByDottedPath()
731 Value* Value::Dict::SetByDottedPath(StringPiece path, int value) { in SetByDottedPath() argument
732 return SetByDottedPath(path, Value(value)); in SetByDottedPath()
735 Value* Value::Dict::SetByDottedPath(StringPiece path, double value) { in SetByDottedPath() argument
736 return SetByDottedPath(path, Value(value)); in SetByDottedPath()
739 Value* Value::Dict::SetByDottedPath(StringPiece path, StringPiece value) { in SetByDottedPath() argument
740 return SetByDottedPath(path, Value(value)); in SetByDottedPath()
743 Value* Value::Dict::SetByDottedPath(StringPiece path, StringPiece16 value) { in SetByDottedPath() argument
744 return SetByDottedPath(path, Value(value)); in SetByDottedPath()
747 Value* Value::Dict::SetByDottedPath(StringPiece path, const char* value) { in SetByDottedPath() argument
748 return SetByDottedPath(path, Value(value)); in SetByDottedPath()
751 Value* Value::Dict::SetByDottedPath(StringPiece path, const char16_t* value) { in SetByDottedPath() argument
752 return SetByDottedPath(path, Value(value)); in SetByDottedPath()
755 Value* Value::Dict::SetByDottedPath(StringPiece path, std::string&& value) { in SetByDottedPath() argument
756 return SetByDottedPath(path, Value(std::move(value))); in SetByDottedPath()
759 Value* Value::Dict::SetByDottedPath(StringPiece path, BlobStorage&& value) { in SetByDottedPath() argument
760 return SetByDottedPath(path, Value(std::move(value))); in SetByDottedPath()
763 Value* Value::Dict::SetByDottedPath(StringPiece path, Dict&& value) { in SetByDottedPath() argument
764 return SetByDottedPath(path, Value(std::move(value))); in SetByDottedPath()
767 Value* Value::Dict::SetByDottedPath(StringPiece path, List&& value) { in SetByDottedPath() argument
768 return SetByDottedPath(path, Value(std::move(value))); in SetByDottedPath()
771 bool Value::Dict::RemoveByDottedPath(StringPiece path) { in RemoveByDottedPath()
775 absl::optional<Value> Value::Dict::ExtractByDottedPath(StringPiece path) { in ExtractByDottedPath()
780 // removing dictionaries that become empty if a value matching `path` is in ExtractByDottedPath()
793 absl::optional<Value> extracted = in ExtractByDottedPath()
801 size_t Value::Dict::EstimateMemoryUsage() const { in EstimateMemoryUsage()
809 std::string Value::Dict::DebugString() const { in DebugString()
814 void Value::Dict::WriteIntoTrace(perfetto::TracedValue context) const { in WriteIntoTrace()
822 Value::Dict::Dict( in Dict()
823 const flat_map<std::string, std::unique_ptr<Value>>& storage) { in Dict()
825 for (const auto& [key, value] : storage) { in Dict()
826 Set(key, value->Clone()); in Dict()
830 bool operator==(const Value::Dict& lhs, const Value::Dict& rhs) { in operator ==()
835 bool operator!=(const Value::Dict& lhs, const Value::Dict& rhs) { in operator !=()
839 bool operator<(const Value::Dict& lhs, const Value::Dict& rhs) { in operator <()
845 bool operator>(const Value::Dict& lhs, const Value::Dict& rhs) { in operator >()
849 bool operator<=(const Value::Dict& lhs, const Value::Dict& rhs) { in operator <=()
853 bool operator>=(const Value::Dict& lhs, const Value::Dict& rhs) { in operator >=()
858 Value::List Value::List::with_capacity(size_t capacity) { in with_capacity()
859 Value::List result; in with_capacity()
864 Value::List::List() = default;
866 Value::List::List(List&&) noexcept = default;
868 Value::List& Value::List::operator=(List&&) noexcept = default;
870 Value::List::~List() = default;
872 bool Value::List::empty() const { in empty()
876 size_t Value::List::size() const { in size()
880 Value::List::iterator Value::List::begin() { in begin()
885 Value::List::const_iterator Value::List::begin() const { in begin()
890 Value::List::const_iterator Value::List::cbegin() const { in cbegin()
895 Value::List::iterator Value::List::end() { in end()
901 Value::List::const_iterator Value::List::end() const { in end()
907 Value::List::const_iterator Value::List::cend() const { in cend()
913 const Value& Value::List::front() const { in front()
918 Value& Value::List::front() { in front()
923 const Value& Value::List::back() const { in back()
928 Value& Value::List::back() { in back()
933 void Value::List::reserve(size_t capacity) { in reserve()
937 const Value& Value::List::operator[](size_t index) const { in operator []()
942 Value& Value::List::operator[](size_t index) { in operator []()
947 void Value::List::clear() { in clear()
951 Value::List::iterator Value::List::erase(iterator pos) { in erase()
957 Value::List::const_iterator Value::List::erase(const_iterator pos) { in erase()
964 Value::List::iterator Value::List::erase(iterator first, iterator last) { in erase()
971 Value::List::const_iterator Value::List::erase(const_iterator first, in erase()
980 Value::List Value::List::Clone() const { in Clone()
984 void Value::List::Append(Value&& value) & { in Append() argument
985 storage_.emplace_back(std::move(value)); in Append()
988 void Value::List::Append(bool value) & { in Append() argument
989 storage_.emplace_back(value); in Append()
992 void Value::List::Append(int value) & { in Append() argument
993 storage_.emplace_back(value); in Append()
996 void Value::List::Append(double value) & { in Append() argument
997 storage_.emplace_back(value); in Append()
1000 void Value::List::Append(StringPiece value) & { in Append() argument
1001 Append(Value(value)); in Append()
1004 void Value::List::Append(StringPiece16 value) & { in Append() argument
1005 storage_.emplace_back(value); in Append()
1008 void Value::List::Append(const char* value) & { in Append() argument
1009 storage_.emplace_back(value); in Append()
1012 void Value::List::Append(const char16_t* value) & { in Append() argument
1013 storage_.emplace_back(value); in Append()
1016 void Value::List::Append(std::string&& value) & { in Append() argument
1017 storage_.emplace_back(std::move(value)); in Append()
1020 void Value::List::Append(BlobStorage&& value) & { in Append() argument
1021 storage_.emplace_back(std::move(value)); in Append()
1024 void Value::List::Append(Dict&& value) & { in Append() argument
1025 storage_.emplace_back(std::move(value)); in Append()
1028 void Value::List::Append(List&& value) & { in Append() argument
1029 storage_.emplace_back(std::move(value)); in Append()
1032 Value::List&& Value::List::Append(Value&& value) && { in Append() argument
1033 storage_.emplace_back(std::move(value)); in Append()
1037 Value::List&& Value::List::Append(bool value) && { in Append() argument
1038 storage_.emplace_back(value); in Append()
1042 Value::List&& Value::List::Append(int value) && { in Append() argument
1043 storage_.emplace_back(value); in Append()
1047 Value::List&& Value::List::Append(double value) && { in Append() argument
1048 storage_.emplace_back(value); in Append()
1052 Value::List&& Value::List::Append(StringPiece value) && { in Append() argument
1053 Append(Value(value)); in Append()
1057 Value::List&& Value::List::Append(StringPiece16 value) && { in Append() argument
1058 storage_.emplace_back(value); in Append()
1062 Value::List&& Value::List::Append(const char* value) && { in Append() argument
1063 storage_.emplace_back(value); in Append()
1067 Value::List&& Value::List::Append(const char16_t* value) && { in Append() argument
1068 storage_.emplace_back(value); in Append()
1072 Value::List&& Value::List::Append(std::string&& value) && { in Append() argument
1073 storage_.emplace_back(std::move(value)); in Append()
1077 Value::List&& Value::List::Append(BlobStorage&& value) && { in Append() argument
1078 storage_.emplace_back(std::move(value)); in Append()
1082 Value::List&& Value::List::Append(Dict&& value) && { in Append() argument
1083 storage_.emplace_back(std::move(value)); in Append()
1087 Value::List&& Value::List::Append(List&& value) && { in Append() argument
1088 storage_.emplace_back(std::move(value)); in Append()
1092 Value::List::iterator Value::List::Insert(const_iterator pos, Value&& value) { in Insert() argument
1094 storage_.insert(storage_.begin() + (pos - begin()), std::move(value)); in Insert()
1100 size_t Value::List::EraseValue(const Value& value) { in EraseValue() argument
1101 return Erase(storage_, value); in EraseValue()
1104 size_t Value::List::EstimateMemoryUsage() const { in EstimateMemoryUsage()
1112 std::string Value::List::DebugString() const { in DebugString()
1117 void Value::List::WriteIntoTrace(perfetto::TracedValue context) const { in WriteIntoTrace()
1125 Value::List::List(const std::vector<Value>& storage) { in List()
1127 for (const auto& value : storage) { in List() local
1128 storage_.push_back(value.Clone()); in List()
1132 bool operator==(const Value::List& lhs, const Value::List& rhs) { in operator ==()
1136 bool operator!=(const Value::List& lhs, const Value::List& rhs) { in operator !=()
1140 bool operator<(const Value::List& lhs, const Value::List& rhs) { in operator <()
1144 bool operator>(const Value::List& lhs, const Value::List& rhs) { in operator >()
1148 bool operator<=(const Value::List& lhs, const Value::List& rhs) { in operator <=()
1152 bool operator>=(const Value::List& lhs, const Value::List& rhs) { in operator >=()
1156 absl::optional<bool> Value::FindBoolKey(StringPiece key) const { in FindBoolKey()
1160 absl::optional<int> Value::FindIntKey(StringPiece key) const { in FindIntKey()
1164 const std::string* Value::FindStringKey(StringPiece key) const { in FindStringKey()
1168 std::string* Value::FindStringKey(StringPiece key) { in FindStringKey()
1172 const Value* Value::FindListKey(StringPiece key) const { in FindListKey()
1173 const Value* result = GetDict().Find(key); in FindListKey()
1180 Value* Value::FindListKey(StringPiece key) { in FindListKey()
1181 return const_cast<Value*>(std::as_const(*this).FindListKey(key)); in FindListKey()
1184 Value* Value::SetKey(StringPiece key, Value&& value) { in SetKey() argument
1185 return GetDict().Set(key, std::move(value)); in SetKey()
1188 Value* Value::SetBoolKey(StringPiece key, bool value) { in SetBoolKey() argument
1189 return GetDict().Set(key, value); in SetBoolKey()
1192 Value* Value::SetIntKey(StringPiece key, int value) { in SetIntKey() argument
1193 return GetDict().Set(key, value); in SetIntKey()
1196 Value* Value::SetDoubleKey(StringPiece key, double value) { in SetDoubleKey() argument
1197 return GetDict().Set(key, value); in SetDoubleKey()
1200 Value* Value::SetStringKey(StringPiece key, StringPiece value) { in SetStringKey() argument
1201 return GetDict().Set(key, value); in SetStringKey()
1204 Value* Value::SetStringKey(StringPiece key, StringPiece16 value) { in SetStringKey() argument
1205 return GetDict().Set(key, value); in SetStringKey()
1208 Value* Value::SetStringKey(StringPiece key, const char* value) { in SetStringKey() argument
1209 return GetDict().Set(key, value); in SetStringKey()
1212 Value* Value::SetStringKey(StringPiece key, std::string&& value) { in SetStringKey() argument
1213 return GetDict().Set(key, std::move(value)); in SetStringKey()
1216 bool Value::RemoveKey(StringPiece key) { in RemoveKey()
1220 Value* Value::FindPath(StringPiece path) { in FindPath()
1224 const Value* Value::FindPath(StringPiece path) const { in FindPath()
1228 absl::optional<bool> Value::FindBoolPath(StringPiece path) const { in FindBoolPath()
1232 absl::optional<int> Value::FindIntPath(StringPiece path) const { in FindIntPath()
1236 absl::optional<double> Value::FindDoublePath(StringPiece path) const { in FindDoublePath()
1240 const std::string* Value::FindStringPath(StringPiece path) const { in FindStringPath()
1244 std::string* Value::FindStringPath(StringPiece path) { in FindStringPath()
1248 const Value* Value::FindDictPath(StringPiece path) const { in FindDictPath()
1249 const Value* cur = GetDict().FindByDottedPath(path); in FindDictPath()
1256 Value* Value::FindDictPath(StringPiece path) { in FindDictPath()
1257 return const_cast<Value*>(std::as_const(*this).FindDictPath(path)); in FindDictPath()
1260 const Value* Value::FindListPath(StringPiece path) const { in FindListPath()
1261 const Value* cur = GetDict().FindByDottedPath(path); in FindListPath()
1268 Value* Value::FindListPath(StringPiece path) { in FindListPath()
1269 return const_cast<Value*>(std::as_const(*this).FindListPath(path)); in FindListPath()
1272 size_t Value::DictSize() const { in DictSize()
1276 bool operator==(const Value& lhs, const Value& rhs) { in operator ==()
1280 bool operator!=(const Value& lhs, const Value& rhs) { in operator !=()
1284 bool operator<(const Value& lhs, const Value& rhs) { in operator <()
1288 bool operator>(const Value& lhs, const Value& rhs) { in operator >()
1292 bool operator<=(const Value& lhs, const Value& rhs) { in operator <=()
1296 bool operator>=(const Value& lhs, const Value& rhs) { in operator >=()
1300 bool operator==(const Value& lhs, bool rhs) { in operator ==()
1304 bool operator==(const Value& lhs, int rhs) { in operator ==()
1308 bool operator==(const Value& lhs, double rhs) { in operator ==()
1312 bool operator==(const Value& lhs, StringPiece rhs) { in operator ==()
1316 bool operator==(const Value& lhs, const Value::Dict& rhs) { in operator ==()
1320 bool operator==(const Value& lhs, const Value::List& rhs) { in operator ==()
1324 size_t Value::EstimateMemoryUsage() const { in EstimateMemoryUsage()
1341 std::string Value::DebugString() const { in DebugString()
1346 void Value::WriteIntoTrace(perfetto::TracedValue context) const { in WriteIntoTrace()
1370 ValueView::ValueView(const Value& value) in ValueView() argument
1372 value.Visit([](const auto& member) { return ViewType(member); })) {} in ValueView()
1374 Value ValueView::ToValue() const { in ToValue()
1375 return Value::CloningHelper::Clone(data_view_); in ToValue()
1382 std::ostream& operator<<(std::ostream& out, const Value& value) { in operator <<() argument
1383 return out << value.DebugString(); in operator <<()
1386 std::ostream& operator<<(std::ostream& out, const Value::Dict& dict) { in operator <<()
1390 std::ostream& operator<<(std::ostream& out, const Value::List& list) { in operator <<()
1394 std::ostream& operator<<(std::ostream& out, const Value::Type& type) { in operator <<()
1399 return out << Value::GetTypeName(type); in operator <<()