1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! A vector which efficiently stores enum variants.
extern crate enum_like;
extern crate smallvec;
/// Not sure if this is needed
pub use *;
// Idea for SmallEnumVec: literally copy paste the code
// s/Vec/SmallVec
// Or maybe
// storage: union { Vec<u32>, [usize; 3] }
// Tag: MSB of num_elements
/// Alternative implementation of `EnumVec` with `Vec<u8>` storage.
/// Alternative implementation of `EnumVec` with `Vec<u16>` storage.
/// Default `EnumVec` with `Vec<u32>` storage.
pub use EnumVec;
/// Alternative implementation of `EnumVec` with `Vec<u64>` storage.
/// Alternative implementation of `EnumVec` with `Vec<u128>` storage.
/// `SmallEnumVec`