vortex_array/arrays/extension/vtable/
visitor.rs1use crate::ArrayBufferVisitor;
5use crate::ArrayChildVisitor;
6use crate::ArrayRef;
7use crate::arrays::extension::ExtensionArray;
8use crate::arrays::extension::ExtensionVTable;
9use crate::vtable::VisitorVTable;
10
11impl VisitorVTable<ExtensionVTable> for ExtensionVTable {
12 fn visit_buffers(_array: &ExtensionArray, _visitor: &mut dyn ArrayBufferVisitor) {}
13
14 fn nbuffers(_array: &ExtensionArray) -> usize {
15 0
16 }
17
18 fn visit_children(array: &ExtensionArray, visitor: &mut dyn ArrayChildVisitor) {
19 visitor.visit_child("storage", &array.storage);
20 }
21
22 fn nchildren(_array: &ExtensionArray) -> usize {
23 1
24 }
25
26 fn nth_child(array: &ExtensionArray, idx: usize) -> Option<ArrayRef> {
27 match idx {
28 0 => Some(array.storage.clone()),
29 _ => None,
30 }
31 }
32}