| 3636 | |
| 3637 | |
| 3638 | bool Value::removeMember(const char* key, const char* cend, Value* removed) |
| 3639 | { |
| 3640 | if (type_ != objectValue) { |
| 3641 | return false; |
| 3642 | } |
| 3643 | CZString actualKey(key, static_cast<unsigned>(cend-key), CZString::noDuplication); |
| 3644 | ObjectValues::iterator it = value_.map_->find(actualKey); |
| 3645 | if (it == value_.map_->end()) |
| 3646 | return false; |
| 3647 | *removed = it->second; |
| 3648 | value_.map_->erase(it); |
| 3649 | return true; |
| 3650 | } |
| 3651 | bool Value::removeMember(const char* key, Value* removed) |
| 3652 | { |
| 3653 | return removeMember(key, key + strlen(key), removed); |