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

Function ValueAsInt64

common/values/parsed_map_field_value.cc:209–223  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

207}
208
209absl::optional<int64_t> ValueAsInt64(const Value& value) {
210 if (auto int_value = value.AsInt(); int_value) {
211 return int_value->NativeValue();
212 } else if (auto uint_value = value.AsUint();
213 uint_value &&
214 uint_value->NativeValue() <= std::numeric_limits<int64_t>::max()) {
215 return static_cast<int64_t>(uint_value->NativeValue());
216 } else if (auto double_value = value.AsDouble();
217 double_value &&
218 static_cast<double>(static_cast<int64_t>(
219 double_value->NativeValue())) == double_value->NativeValue()) {
220 return static_cast<int64_t>(double_value->NativeValue());
221 }
222 return absl::nullopt;
223}
224
225absl::optional<uint32_t> ValueAsUInt32(const Value& value) {
226 if (auto int_value = value.AsInt();

Callers 1

ValueToProtoMapKeyFunction · 0.85

Calls 4

AsIntMethod · 0.45
NativeValueMethod · 0.45
AsUintMethod · 0.45
AsDoubleMethod · 0.45

Tested by

no test coverage detected