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