| 259 | } |
| 260 | |
| 261 | absl::Status Value::Equal( |
| 262 | const Value& other, |
| 263 | const google::protobuf::DescriptorPool* absl_nonnull descriptor_pool, |
| 264 | google::protobuf::MessageFactory* absl_nonnull message_factory, |
| 265 | google::protobuf::Arena* absl_nonnull arena, Value* absl_nonnull result) const { |
| 266 | ABSL_DCHECK(descriptor_pool != nullptr); |
| 267 | ABSL_DCHECK(message_factory != nullptr); |
| 268 | ABSL_DCHECK(arena != nullptr); |
| 269 | ABSL_DCHECK(result != nullptr); |
| 270 | |
| 271 | return variant_.Visit([&other, descriptor_pool, message_factory, arena, |
| 272 | result](const auto& alternative) -> absl::Status { |
| 273 | return alternative.Equal(other, descriptor_pool, message_factory, arena, |
| 274 | result); |
| 275 | }); |
| 276 | } |
| 277 | |
| 278 | bool Value::IsZeroValue() const { |
| 279 | return variant_.Visit([](const auto& alternative) -> bool { |