wiwi_memory_usage/impls/
option.rs1use crate::MemoryUsage;
2use crate::macros::impl_memory_usage;
3
4impl_memory_usage! {
5 { T: MemoryUsage }
6 { T: [const] MemoryUsage }
7 Option<T>
8 |self| match self {
9 Some(val) => {
10 let remaining = size_of::<Option<T>>() - size_of::<T>();
11 val.memory_usage() + remaining
12 }
13 None => { size_of::<Option<T>>() }
14 };
15 compacted |self| match self {
16 Some(val) => { val.memory_usage_compacted() }
17 None => { 0 }
18 };
19 compact |self| match self {
20 Some(val) => { val.compact_memory() }
21 None => { 0 }
22 };
23 ref compacted |self| match self {
24 Some(val) => { val.memory_usage_compacted_ref() }
25 None => { 0 }
26 };
27 ref compact |self| match self {
28 Some(val) => { val.compact_memory_ref() }
29 None => { 0 }
30 };
31}
32
33