| 4706 | } |
| 4707 | |
| 4708 | object_range_type object_range() |
| 4709 | { |
| 4710 | switch (storage_kind()) |
| 4711 | { |
| 4712 | case json_storage_kind::empty_object: |
| 4713 | return object_range_type(object_iterator(), object_iterator()); |
| 4714 | case json_storage_kind::object: |
| 4715 | return object_range_type(object_iterator(cast<object_storage>().value().begin()), |
| 4716 | object_iterator(cast<object_storage>().value().end())); |
| 4717 | case json_storage_kind::json_ref: |
| 4718 | return cast<json_ref_storage>().value().object_range(); |
| 4719 | default: |
| 4720 | JSONCONS_THROW(json_runtime_error<std::domain_error>("Not an object")); |
| 4721 | } |
| 4722 | } |
| 4723 | |
| 4724 | const_object_range_type object_range() const |
| 4725 | { |