egui_probe/
array.rs

1use crate::EguiProbe;
2
3impl<T, const N: usize> EguiProbe for [T; N]
4where
5    T: EguiProbe,
6{
7    fn probe(&mut self, ui: &mut egui::Ui, _style: &crate::Style) -> egui::Response {
8        ui.weak(format!("[{N}]"))
9    }
10
11    fn iterate_inner(
12        &mut self,
13        ui: &mut egui::Ui,
14        f: &mut dyn FnMut(&str, &mut egui::Ui, &mut dyn EguiProbe),
15    ) {
16        for (i, value) in self.iter_mut().enumerate() {
17            f(&format!("[{i}]"), ui, value);
18        }
19    }
20}
21
22impl<T> EguiProbe for [T]
23where
24    T: EguiProbe,
25{
26    fn probe(&mut self, ui: &mut egui::Ui, _style: &crate::Style) -> egui::Response {
27        ui.weak(format!("[{}]", self.len()))
28    }
29
30    fn iterate_inner(
31        &mut self,
32        ui: &mut egui::Ui,
33        f: &mut dyn FnMut(&str, &mut egui::Ui, &mut dyn EguiProbe),
34    ) {
35        for (i, value) in self.iter_mut().enumerate() {
36            f(&format!("[{i}]"), ui, value);
37        }
38    }
39}