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

Method Next

internal/json.cc:1399–1417  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1397 JsonMapIterator& operator=(JsonMapIterator&&) = default;
1398
1399 Value Next(std::string& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) {
1400 Value result;
1401 absl::visit(absl::Overload(
1402 [&](Generated& generated) -> void {
1403 result = std::pair{absl::string_view(generated->first),
1404 &generated->second};
1405 ++generated;
1406 },
1407 [&](Dynamic& dynamic) -> void {
1408 const auto& key = dynamic.GetKey().GetStringValue();
1409 scratch.assign(key.data(), key.size());
1410 result =
1411 std::pair{absl::string_view(scratch),
1412 &dynamic.GetValueRef().GetMessageValue()};
1413 ++dynamic;
1414 }),
1415 variant_);
1416 return result;
1417 }
1418
1419 private:
1420 absl::variant<Generated, Dynamic> variant_;

Callers 2

StructDebugStringMethod · 0.45
StructEqualMethod · 0.45

Calls 3

GetKeyMethod · 0.80
GetStringValueMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected