1
2
3
4
5
6
7
8
9
10
11
12
13
#[macro_export]
macro_rules! extend_vec {
    ( $vec:expr; $( $slice_:expr ),* ) => ({
        let mut space_needed = 0;
        $(
            space_needed += $slice_.len();
        )*
        $vec.reserve_exact(space_needed);
        $(
            $vec.extend_from_slice($slice_);
        )*
    });
}