MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / ValueEquals

Function ValueEquals

common/values/value_builder.cc:677–734  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

675}
676
677bool ValueEquals(const Value& lhs, const Value& rhs) {
678 switch (lhs.kind()) {
679 case ValueKind::kBool:
680 switch (rhs.kind()) {
681 case ValueKind::kBool:
682 return lhs.GetBool() == rhs.GetBool();
683 case ValueKind::kInt:
684 return false;
685 case ValueKind::kUint:
686 return false;
687 case ValueKind::kString:
688 return false;
689 default:
690 ABSL_UNREACHABLE();
691 }
692 case ValueKind::kInt:
693 switch (rhs.kind()) {
694 case ValueKind::kBool:
695 return false;
696 case ValueKind::kInt:
697 return lhs.GetInt() == rhs.GetInt();
698 case ValueKind::kUint:
699 return false;
700 case ValueKind::kString:
701 return false;
702 default:
703 ABSL_UNREACHABLE();
704 }
705 case ValueKind::kUint:
706 switch (rhs.kind()) {
707 case ValueKind::kBool:
708 return false;
709 case ValueKind::kInt:
710 return false;
711 case ValueKind::kUint:
712 return lhs.GetUint() == rhs.GetUint();
713 case ValueKind::kString:
714 return false;
715 default:
716 ABSL_UNREACHABLE();
717 }
718 case ValueKind::kString:
719 switch (rhs.kind()) {
720 case ValueKind::kBool:
721 return false;
722 case ValueKind::kInt:
723 return false;
724 case ValueKind::kUint:
725 return false;
726 case ValueKind::kString:
727 return lhs.GetString() == rhs.GetString();
728 default:
729 ABSL_UNREACHABLE();
730 }
731 default:
732 ABSL_UNREACHABLE();
733 }
734}

Callers

nothing calls this directly

Calls 5

kindMethod · 0.45
GetBoolMethod · 0.45
GetIntMethod · 0.45
GetUintMethod · 0.45
GetStringMethod · 0.45

Tested by

no test coverage detected