fera_array/
cow.rs

1use {BalancedShiftSplit, NestedArray, RcArray};
2
3pub type CowNestedArray<T, S = BalancedShiftSplit> =
4    NestedArray<T, S, RcArray<RcArray<T>>, RcArray<T>>;
5
6#[cfg(test)]
7mod tests {
8    use {ArrayTests, CowNestedArray, DynamicArrayTests};
9
10    struct T;
11
12    impl ArrayTests for T {
13        type A = CowNestedArray<usize>;
14    }
15
16    delegate_tests!{
17        T,
18        basic_0,
19        basic_001k,
20        basic_100k,
21        clone_001k,
22        clone_100k
23    }
24
25    impl DynamicArrayTests for T {}
26
27    delegate_tests!{
28        T,
29        capacity,
30        push_1k,
31        clone_push
32    }
33
34    #[cfg(all(feature = "nightly", test))]
35    mod benchs {
36        use super::T;
37        use test::Bencher;
38        use ArrayBenchs;
39
40        impl ArrayBenchs for T {}
41
42        delegate_benchs!{
43            T,
44            fold_xor_0001k,
45            fold_xor_0010k,
46            fold_xor_0100k,
47            fold_xor_1000k,
48            clone_change_0001k,
49            clone_change_0010k,
50            clone_change_0100k,
51            clone_change_1000k
52        }
53    }
54}