MCPcopy Create free account
hub / github.com/apache/arrow / NLastChildren

Method NLastChildren

cpp/src/arrow/c/bridge_test.cc:2630–2644  ·  view source on GitHub ↗

Create a stable C pointer to the N last structs in nested_structs_

Source from the content-addressed store, hash-verified

2628
2629 // Create a stable C pointer to the N last structs in nested_structs_
2630 struct ArrowArray** NLastChildren(int64_t n_children, struct ArrowArray* parent) {
2631 children_arrays_.emplace_back(n_children);
2632 struct ArrowArray** children = children_arrays_.back().data();
2633 int64_t nested_offset;
2634 // If parent is itself at the end of nested_structs_, skip it
2635 if (parent != nullptr && &nested_structs_.back() == parent) {
2636 nested_offset = static_cast<int64_t>(nested_structs_.size()) - n_children - 1;
2637 } else {
2638 nested_offset = static_cast<int64_t>(nested_structs_.size()) - n_children;
2639 }
2640 for (int64_t i = 0; i < n_children; ++i) {
2641 children[i] = &nested_structs_[nested_offset + i];
2642 }
2643 return children;
2644 }
2645
2646 struct ArrowArray* LastChild(struct ArrowArray* parent = nullptr) {
2647 return *NLastChildren(1, parent);

Callers

nothing calls this directly

Calls 4

emplace_backMethod · 0.80
backMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected