| 275 | } |
| 276 | |
| 277 | absl::Status Equal(const cel::OpaqueValue& other, |
| 278 | const google::protobuf::DescriptorPool* absl_nonnull descriptor_pool, |
| 279 | google::protobuf::MessageFactory* absl_nonnull message_factory, |
| 280 | google::protobuf::Arena* absl_nonnull arena, |
| 281 | cel::Value* absl_nonnull result) const final { |
| 282 | if (other.GetTypeId() != cel::TypeId<NetworkAddressMatcherImpl>()) { |
| 283 | *result = cel::BoolValue(false); |
| 284 | return absl::OkStatus(); |
| 285 | } |
| 286 | const NetworkAddressMatcherImpl* other_rep = |
| 287 | static_cast<const NetworkAddressMatcherImpl*>(other.interface()); |
| 288 | *result = cel::BoolValue(rep_.IsEqualTo(other_rep->rep_)); |
| 289 | return absl::OkStatus(); |
| 290 | } |
| 291 | |
| 292 | cel::OpaqueValue Clone(google::protobuf::Arena* absl_nonnull arena) const final { |
| 293 | return NetworkAddressMatcher::MakeValue(arena, rep_).GetOpaque(); |