| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/values.h" | 5 #include "base/values.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/float_util.h" | 9 #include "base/float_util.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 } | 136 } |
| 137 | 137 |
| 138 bool Value::GetAsList(ListValue** out_value) { | 138 bool Value::GetAsList(ListValue** out_value) { |
| 139 return false; | 139 return false; |
| 140 } | 140 } |
| 141 | 141 |
| 142 bool Value::GetAsList(const ListValue** out_value) const { | 142 bool Value::GetAsList(const ListValue** out_value) const { |
| 143 return false; | 143 return false; |
| 144 } | 144 } |
| 145 | 145 |
| 146 bool Value::GetAsDictionary(DictionaryValue** out_value) { |
| 147 return false; |
| 148 } |
| 149 |
| 150 bool Value::GetAsDictionary(const DictionaryValue** out_value) const { |
| 151 return false; |
| 152 } |
| 153 |
| 146 Value* Value::DeepCopy() const { | 154 Value* Value::DeepCopy() const { |
| 147 // This method should only be getting called for null Values--all subclasses | 155 // This method should only be getting called for null Values--all subclasses |
| 148 // need to provide their own implementation;. | 156 // need to provide their own implementation;. |
| 149 DCHECK(IsType(TYPE_NULL)); | 157 DCHECK(IsType(TYPE_NULL)); |
| 150 return CreateNullValue(); | 158 return CreateNullValue(); |
| 151 } | 159 } |
| 152 | 160 |
| 153 bool Value::Equals(const Value* other) const { | 161 bool Value::Equals(const Value* other) const { |
| 154 // This method should only be getting called for null Values--all subclasses | 162 // This method should only be getting called for null Values--all subclasses |
| 155 // need to provide their own implementation;. | 163 // need to provide their own implementation;. |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 ///////////////////// DictionaryValue //////////////////// | 346 ///////////////////// DictionaryValue //////////////////// |
| 339 | 347 |
| 340 DictionaryValue::DictionaryValue() | 348 DictionaryValue::DictionaryValue() |
| 341 : Value(TYPE_DICTIONARY) { | 349 : Value(TYPE_DICTIONARY) { |
| 342 } | 350 } |
| 343 | 351 |
| 344 DictionaryValue::~DictionaryValue() { | 352 DictionaryValue::~DictionaryValue() { |
| 345 Clear(); | 353 Clear(); |
| 346 } | 354 } |
| 347 | 355 |
| 356 bool DictionaryValue::GetAsDictionary(DictionaryValue** out_value) { |
| 357 if (out_value) |
| 358 *out_value = this; |
| 359 return true; |
| 360 } |
| 361 |
| 362 bool DictionaryValue::GetAsDictionary(const DictionaryValue** out_value) const { |
| 363 if (out_value) |
| 364 *out_value = this; |
| 365 return true; |
| 366 } |
| 367 |
| 348 bool DictionaryValue::HasKey(const std::string& key) const { | 368 bool DictionaryValue::HasKey(const std::string& key) const { |
| 349 DCHECK(IsStringUTF8(key)); | 369 DCHECK(IsStringUTF8(key)); |
| 350 ValueMap::const_iterator current_entry = dictionary_.find(key); | 370 ValueMap::const_iterator current_entry = dictionary_.find(key); |
| 351 DCHECK((current_entry == dictionary_.end()) || current_entry->second); | 371 DCHECK((current_entry == dictionary_.end()) || current_entry->second); |
| 352 return current_entry != dictionary_.end(); | 372 return current_entry != dictionary_.end(); |
| 353 } | 373 } |
| 354 | 374 |
| 355 void DictionaryValue::Clear() { | 375 void DictionaryValue::Clear() { |
| 356 ValueMap::iterator dict_iterator = dictionary_.begin(); | 376 ValueMap::iterator dict_iterator = dictionary_.begin(); |
| 357 while (dict_iterator != dictionary_.end()) { | 377 while (dict_iterator != dictionary_.end()) { |
| (...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 925 if (lhs_it != end() || rhs_it != other_list->end()) | 945 if (lhs_it != end() || rhs_it != other_list->end()) |
| 926 return false; | 946 return false; |
| 927 | 947 |
| 928 return true; | 948 return true; |
| 929 } | 949 } |
| 930 | 950 |
| 931 ValueSerializer::~ValueSerializer() { | 951 ValueSerializer::~ValueSerializer() { |
| 932 } | 952 } |
| 933 | 953 |
| 934 } // namespace base | 954 } // namespace base |
| OLD | NEW |