| 3564 | |
| 3565 | |
| 3566 | bool Value::removeMember(const char* key, const char* cend, Value* removed) |
| 3567 | { |
| 3568 | if (type_ != objectValue) { |
| 3569 | return false; |
| 3570 | } |
| 3571 | CZString actualKey(key, static_cast<unsigned>(cend-key), CZString::noDuplication); |
| 3572 | ObjectValues::iterator it = value_.map_->find(actualKey); |
| 3573 | if (it == value_.map_->end()) |
| 3574 | return false; |
| 3575 | *removed = it->second; |
| 3576 | value_.map_->erase(it); |
| 3577 | return true; |
| 3578 | } |
| 3579 | bool Value::removeMember(const char* key, Value* removed) |
| 3580 | { |
| 3581 | return removeMember(key, key + strlen(key), removed); |