vortex_array/arrays/struct_/vtable/
visitor.rs1use itertools::Itertools;
5
6use crate::ArrayBufferVisitor;
7use crate::ArrayChildVisitor;
8use crate::arrays::struct_::StructArray;
9use crate::arrays::struct_::StructVTable;
10use crate::vtable::ValidityHelper;
11use crate::vtable::VisitorVTable;
12
13impl VisitorVTable<StructVTable> for StructVTable {
14 fn visit_buffers(_array: &StructArray, _visitor: &mut dyn ArrayBufferVisitor) {}
15
16 fn visit_children(array: &StructArray, visitor: &mut dyn ArrayChildVisitor) {
17 visitor.visit_validity(array.validity(), array.len());
18 for (name, field) in array.names().iter().zip_eq(array.fields().iter()) {
19 visitor.visit_child(name.as_ref(), field);
20 }
21 }
22}