Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/crates/polars-arrow/src/array/binview/fmt.rs
6939 views
1
use std::fmt::{Debug, Formatter, Result, Write};
2
3
use super::super::fmt::write_vec;
4
use super::BinaryViewArrayGeneric;
5
use crate::array::binview::ViewType;
6
use crate::array::{Array, BinaryViewArray, Utf8ViewArray};
7
8
pub fn write_value<'a, T: ViewType + ?Sized, W: Write>(
9
array: &'a BinaryViewArrayGeneric<T>,
10
index: usize,
11
f: &mut W,
12
) -> Result
13
where
14
&'a T: Debug,
15
{
16
let bytes = array.value(index).to_bytes();
17
let writer = |f: &mut W, index| write!(f, "{}", bytes[index]);
18
19
write_vec(f, writer, None, bytes.len(), "None", false)
20
}
21
22
impl Debug for BinaryViewArray {
23
fn fmt(&self, f: &mut Formatter<'_>) -> Result {
24
let writer = |f: &mut Formatter, index| write_value(self, index, f);
25
write!(f, "BinaryViewArray")?;
26
write_vec(f, writer, self.validity(), self.len(), "None", false)
27
}
28
}
29
30
impl Debug for Utf8ViewArray {
31
fn fmt(&self, f: &mut Formatter<'_>) -> Result {
32
let writer = |f: &mut Formatter, index| write!(f, "{}", self.value(index));
33
write!(f, "Utf8ViewArray")?;
34
write_vec(f, writer, self.validity(), self.len(), "None", false)
35
}
36
}
37
38