logicng/collections/
vector_functions.rs

1pub fn grow_to<T: Clone>(vec: &mut Vec<T>, size: usize, pad: T) {
2    if vec.len() >= size {
3        return;
4    }
5    vec.reserve(size - vec.len());
6    for _ in vec.len()..size {
7        vec.push(pad.clone());
8    }
9}
10
11pub fn remove_elem<T, F>(vec: &mut Vec<T>, elem: &T, equality_function: F)
12where F: Fn(&T, &T) -> bool {
13    for i in 0..vec.len() {
14        if equality_function(&vec[i], elem) {
15            vec.remove(i);
16            return;
17        }
18    }
19}