orx_concurrent_recursive_iter/
sized.rs1trait Seal {}
2
3#[allow(private_bounds)]
5pub trait Size: Seal + Send + Sync + Clone + Copy {
6 fn exact_len(self) -> Option<usize>;
11}
12
13#[derive(Clone, Copy)]
15pub struct ExactSize(pub(super) usize);
16impl Seal for ExactSize {}
17impl Size for ExactSize {
18 #[inline(always)]
19 fn exact_len(self) -> Option<usize> {
20 Some(self.0)
21 }
22}
23
24#[derive(Clone, Copy)]
26pub struct UnknownSize;
27impl Seal for UnknownSize {}
28impl Size for UnknownSize {
29 #[inline(always)]
30 fn exact_len(self) -> Option<usize> {
31 None
32 }
33}