ferroui_dynamic_data/cache/
virtual_response.rs1use std::fmt;
5
6pub trait IVirtualResponse {
8 fn size(&self) -> usize;
10 fn start_index(&self) -> usize;
12 fn total_size(&self) -> usize;
14}
15
16#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
19pub struct VirtualResponse {
20 size: usize,
21 start_index: usize,
22 total_size: usize,
23}
24
25impl VirtualResponse {
26 pub const fn new(size: usize, start_index: usize, total_size: usize) -> Self {
29 Self { size, start_index, total_size }
30 }
31
32 pub const fn size(&self) -> usize {
34 self.size
35 }
36
37 pub const fn start_index(&self) -> usize {
39 self.start_index
40 }
41
42 pub const fn total_size(&self) -> usize {
44 self.total_size
45 }
46}
47
48impl IVirtualResponse for VirtualResponse {
49 fn size(&self) -> usize {
50 self.size
51 }
52
53 fn start_index(&self) -> usize {
54 self.start_index
55 }
56
57 fn total_size(&self) -> usize {
58 self.total_size
59 }
60}
61
62impl fmt::Display for VirtualResponse {
63 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
65 write!(f, "Size: {}, StartIndex: {}, TotalSize: {}", self.size, self.start_index, self.total_size)
66 }
67}