| 2777 | } |
| 2778 | |
| 2779 | Value::const_iterator Value::end() const { |
| 2780 | switch (type_) { |
| 2781 | #ifdef JSON_VALUE_USE_INTERNAL_MAP |
| 2782 | case arrayValue: |
| 2783 | if (value_.array_) { |
| 2784 | ValueInternalArray::IteratorState it; |
| 2785 | value_.array_->makeEndIterator(it); |
| 2786 | return const_iterator(it); |
| 2787 | } |
| 2788 | break; |
| 2789 | case objectValue: |
| 2790 | if (value_.map_) { |
| 2791 | ValueInternalMap::IteratorState it; |
| 2792 | value_.map_->makeEndIterator(it); |
| 2793 | return const_iterator(it); |
| 2794 | } |
| 2795 | break; |
| 2796 | #else |
| 2797 | case arrayValue: |
| 2798 | case objectValue: |
| 2799 | if (value_.map_) |
| 2800 | return const_iterator(value_.map_->end()); |
| 2801 | break; |
| 2802 | #endif |
| 2803 | default: |
| 2804 | break; |
| 2805 | } |
| 2806 | return const_iterator(); |
| 2807 | } |
| 2808 | |
| 2809 | Value::iterator Value::begin() { |
| 2810 | switch (type_) { |