ferroui_dynamic_data/cache/
indexed_item.rs1use std::fmt;
4
5#[derive(Clone, Debug, PartialEq, Eq, Hash)]
8pub struct IndexedItem<T, K> {
9 value: T,
10 key: K,
11 index: usize,
12}
13
14impl<T, K> IndexedItem<T, K> {
15 pub fn new(value: T, key: K, index: usize) -> Self {
17 Self { value, key, index }
18 }
19
20 pub fn index(&self) -> usize {
22 self.index
23 }
24
25 pub fn key(&self) -> &K {
27 &self.key
28 }
29
30 pub fn value(&self) -> &T {
32 &self.value
33 }
34}
35
36impl<T: fmt::Display, K: fmt::Display> fmt::Display for IndexedItem<T, K> {
37 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
39 write!(f, "Value: {}, Key: {}, CurrentIndex: {}", self.value, self.key, self.index)
40 }
41}