| 917 | } |
| 918 | |
| 919 | absl::StatusOr<bool> Next2( |
| 920 | const google::protobuf::DescriptorPool* absl_nonnull descriptor_pool, |
| 921 | google::protobuf::MessageFactory* absl_nonnull message_factory, |
| 922 | google::protobuf::Arena* absl_nonnull arena, Value* absl_nonnull key, |
| 923 | Value* absl_nullable value) override { |
| 924 | ABSL_DCHECK(descriptor_pool != nullptr); |
| 925 | ABSL_DCHECK(message_factory != nullptr); |
| 926 | ABSL_DCHECK(arena != nullptr); |
| 927 | ABSL_DCHECK(key != nullptr); |
| 928 | |
| 929 | if (begin_ == end_) { |
| 930 | return false; |
| 931 | } |
| 932 | *key = begin_->first; |
| 933 | if (value != nullptr) { |
| 934 | *value = begin_->second; |
| 935 | } |
| 936 | ++begin_; |
| 937 | return true; |
| 938 | } |
| 939 | |
| 940 | private: |
| 941 | typename ValueFlatHashMap::const_iterator begin_; |