use std::ops::Range;
use crate::VectorGrid;
impl<ItemType: Copy> VectorGrid<ItemType> {
pub fn get_chunk(&self, chunk_range: Vec<Range<usize>>) -> VectorGrid<ItemType> {
let chunk_size = chunk_range.iter().map(|range| {range.end - range.start});
VectorGrid::from_vector(chunk_size.collect(), self.iter_chunk(chunk_range).copied().collect())
}
}
impl<ItemType> VectorGrid<ItemType> {
pub fn get_chunk_ref(&self, chunk_range: Vec<Range<usize>>) -> VectorGrid<&ItemType> {
let chunk_size = chunk_range.iter().map(|range| {range.end - range.start});
VectorGrid::from_vector(chunk_size.collect(), self.iter_chunk(chunk_range).collect())
}
}