arc_slice/
layout.rs

1pub trait Layout: private::Layout {}
2
3#[derive(Debug)]
4pub struct Compact;
5impl Layout for Compact {}
6
7#[derive(Debug)]
8pub struct Plain;
9impl Layout for Plain {}
10
11#[cfg(feature = "inlined")]
12mod private {
13    use crate::{inlined::InlinedLayout, slice::ArcSliceLayout};
14
15    pub trait Layout: ArcSliceLayout + InlinedLayout {}
16
17    impl<L> Layout for L where L: ArcSliceLayout + InlinedLayout {}
18}
19
20#[cfg(not(feature = "inlined"))]
21mod private {
22    use crate::slice::ArcSliceLayout;
23
24    pub trait Layout: ArcSliceLayout {}
25
26    impl<L> Layout for L where L: ArcSliceLayout {}
27}