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}