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

Method NLastChildren

cpp/src/arrow/c/bridge_test.cc:1823–1837  ·  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

1821
1822 // Create a stable C pointer to the N last structs in nested_structs_
1823 struct ArrowSchema** NLastChildren(int64_t n_children, struct ArrowSchema* parent) {
1824 children_arrays_.emplace_back(n_children);
1825 struct ArrowSchema** children = children_arrays_.back().data();
1826 int64_t nested_offset;
1827 // If parent is itself at the end of nested_structs_, skip it
1828 if (parent != nullptr && &nested_structs_.back() == parent) {
1829 nested_offset = static_cast<int64_t>(nested_structs_.size()) - n_children - 1;
1830 } else {
1831 nested_offset = static_cast<int64_t>(nested_structs_.size()) - n_children;
1832 }
1833 for (int64_t i = 0; i < n_children; ++i) {
1834 children[i] = &nested_structs_[nested_offset + i];
1835 }
1836 return children;
1837 }
1838
1839 struct ArrowSchema* LastChild(struct ArrowSchema* parent = nullptr) {
1840 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