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::arrays::VarBinViewArray;
6use crate::vtable::{ValidityHelper, VisitorVTable};
7use crate::{ArrayBufferVisitor, ArrayChildVisitor};
8
9impl VisitorVTable<VarBinViewVTable> for VarBinViewVTable {
10    fn visit_buffers(array: &VarBinViewArray, visitor: &mut dyn ArrayBufferVisitor) {
11        for buffer in array.buffers().as_ref() {
12            visitor.visit_buffer(buffer);
13        }
14        visitor.visit_buffer(&array.views().clone().into_byte_buffer());
15    }
16
17    fn visit_children(array: &VarBinViewArray, visitor: &mut dyn ArrayChildVisitor) {
18        visitor.visit_validity(array.validity(), array.len())
19    }
20}