vortex_array/arrays/chunked/vtable/
visitor.rs1use crate::arrays::{ChunkedArray, ChunkedVTable, PrimitiveArray};
5use crate::validity::Validity;
6use crate::vtable::VisitorVTable;
7use crate::{ArrayBufferVisitor, ArrayChildVisitor};
8
9impl VisitorVTable<ChunkedVTable> for ChunkedVTable {
10 fn visit_buffers(_array: &ChunkedArray, _visitor: &mut dyn ArrayBufferVisitor) {}
11
12 fn visit_children(array: &ChunkedArray, visitor: &mut dyn ArrayChildVisitor) {
13 let chunk_offsets =
14 PrimitiveArray::new(array.chunk_offsets().clone(), Validity::NonNullable);
15 visitor.visit_child("chunk_offsets", chunk_offsets.as_ref());
16
17 for (idx, chunk) in array.chunks().iter().enumerate() {
18 visitor.visit_child(format!("chunks[{idx}]").as_str(), chunk);
19 }
20 }
21}