vortex_array/arrays/varbinview/vtable/
visitor.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4use super::VarBinViewVTable;
5use crate::ArrayBufferVisitor;
6use crate::ArrayChildVisitor;
7use crate::arrays::VarBinViewArray;
8use crate::vtable::ValidityHelper;
9use crate::vtable::VisitorVTable;
10
11impl VisitorVTable<VarBinViewVTable> for VarBinViewVTable {
12    fn visit_buffers(array: &VarBinViewArray, visitor: &mut dyn ArrayBufferVisitor) {
13        for buffer in array.buffers().as_ref() {
14            visitor.visit_buffer(buffer);
15        }
16        visitor.visit_buffer(&array.views().clone().into_byte_buffer());
17    }
18
19    fn visit_children(array: &VarBinViewArray, visitor: &mut dyn ArrayChildVisitor) {
20        visitor.visit_validity(array.validity(), array.len())
21    }
22}