• Home
  • Raw
  • Download

Lines Matching full:slice

5 /// Parallel iterator over immutable non-overlapping chunks of a slice, starting at the end.
9 slice: &'data [T], field
13 pub(super) fn new(chunk_size: usize, slice: &'data [T]) -> Self { in new()
14 Self { chunk_size, slice } in new()
48 div_round_up(self.slice.len(), self.chunk_size) in len()
57 slice: self.slice, in with_producer()
64 slice: &'data [T], field
69 type IntoIter = ::std::slice::RChunks<'data, T>;
72 self.slice.rchunks(self.chunk_size) in into_iter()
76 let elem_index = self.slice.len().saturating_sub(index * self.chunk_size); in split_at()
77 let (left, right) = self.slice.split_at(elem_index); in split_at()
81 slice: right, in split_at()
85 slice: left, in split_at()
91 /// Parallel iterator over immutable non-overlapping chunks of a slice, starting at the end.
95 slice: &'data [T], field
100 pub(super) fn new(chunk_size: usize, slice: &'data [T]) -> Self { in new()
101 let rem_len = slice.len() % chunk_size; in new()
102 let (rem, slice) = slice.split_at(rem_len); in new()
105 slice, in new()
110 /// Return the remainder of the original slice that is not going to be
111 /// returned by the iterator. The returned slice has at most `chunk_size-1`
148 self.slice.len() / self.chunk_size in len()
157 slice: self.slice, in with_producer()
164 slice: &'data [T], field
169 type IntoIter = ::std::slice::RChunksExact<'data, T>;
172 self.slice.rchunks_exact(self.chunk_size) in into_iter()
176 let elem_index = self.slice.len() - index * self.chunk_size; in split_at()
177 let (left, right) = self.slice.split_at(elem_index); in split_at()
181 slice: right, in split_at()
185 slice: left, in split_at()
191 /// Parallel iterator over mutable non-overlapping chunks of a slice, starting at the end.
195 slice: &'data mut [T], field
199 pub(super) fn new(chunk_size: usize, slice: &'data mut [T]) -> Self { in new()
200 Self { chunk_size, slice } in new()
228 div_round_up(self.slice.len(), self.chunk_size) in len()
237 slice: self.slice, in with_producer()
244 slice: &'data mut [T], field
249 type IntoIter = ::std::slice::RChunksMut<'data, T>;
252 self.slice.rchunks_mut(self.chunk_size) in into_iter()
256 let elem_index = self.slice.len().saturating_sub(index * self.chunk_size); in split_at()
257 let (left, right) = self.slice.split_at_mut(elem_index); in split_at()
261 slice: right, in split_at()
265 slice: left, in split_at()
271 /// Parallel iterator over mutable non-overlapping chunks of a slice, starting at the end.
275 slice: &'data mut [T], field
280 pub(super) fn new(chunk_size: usize, slice: &'data mut [T]) -> Self { in new()
281 let rem_len = slice.len() % chunk_size; in new()
282 let (rem, slice) = slice.split_at_mut(rem_len); in new()
285 slice, in new()
290 /// Return the remainder of the original slice that is not going to be
291 /// returned by the iterator. The returned slice has at most `chunk_size-1`
303 /// Return the remainder of the original slice that is not going to be
304 /// returned by the iterator. The returned slice has at most `chunk_size-1`
313 /// Return the remainder of the original slice that is not going to be
314 /// returned by the iterator. The returned slice has at most `chunk_size-1`
315 /// elements. Subsequent calls will return an empty slice.
345 self.slice.len() / self.chunk_size in len()
354 slice: self.slice, in with_producer()
361 slice: &'data mut [T], field
366 type IntoIter = ::std::slice::RChunksExactMut<'data, T>;
369 self.slice.rchunks_exact_mut(self.chunk_size) in into_iter()
373 let elem_index = self.slice.len() - index * self.chunk_size; in split_at()
374 let (left, right) = self.slice.split_at_mut(elem_index); in split_at()
378 slice: right, in split_at()
382 slice: left, in split_at()