Struct RangeFull
pub struct RangeFull;Expand description
An unbounded range (..).
RangeFull is primarily used as a slicing index, its shorthand is ...
It cannot serve as an Iterator because it doesn’t have a starting point.
§Examples
The .. syntax is a RangeFull:
assert_eq!(.., std::ops::RangeFull);It does not have an IntoIterator implementation, so you can’t use it in
a for loop directly. This won’t compile:
for i in .. {
// ...
}Used as a slicing index, RangeFull produces the full array as a slice.
let arr = [0, 1, 2, 3, 4];
assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]); // This is the `RangeFull`
assert_eq!(arr[ .. 3], [0, 1, 2 ]);
assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]);
assert_eq!(arr[1.. ], [ 1, 2, 3, 4]);
assert_eq!(arr[1.. 3], [ 1, 2 ]);
assert_eq!(arr[1..=3], [ 1, 2, 3 ]);Trait Implementations§
§impl Distribution<bool> for RangeFull
impl Distribution<bool> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> bool
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> bool
random)§impl Distribution<i128> for RangeFull
impl Distribution<i128> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i128
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i128
random)§impl Distribution<i16> for RangeFull
impl Distribution<i16> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i16
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i16
random)§impl Distribution<i32> for RangeFull
impl Distribution<i32> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i32
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i32
random)§impl Distribution<i64> for RangeFull
impl Distribution<i64> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i64
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i64
random)§impl Distribution<i8> for RangeFull
impl Distribution<i8> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i8
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> i8
random)§impl Distribution<isize> for RangeFull
impl Distribution<isize> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> isize
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> isize
random)§impl Distribution<u128> for RangeFull
impl Distribution<u128> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u128
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u128
random)§impl Distribution<u16> for RangeFull
impl Distribution<u16> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u16
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u16
random)§impl Distribution<u32> for RangeFull
impl Distribution<u32> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u32
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u32
random)§impl Distribution<u64> for RangeFull
impl Distribution<u64> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u64
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u64
random)§impl Distribution<u8> for RangeFull
impl Distribution<u8> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u8
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> u8
random)§impl Distribution<usize> for RangeFull
impl Distribution<usize> for RangeFull
§fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> usize
fn sample(&self, source: &mut (impl RandomSource + ?Sized)) -> usize
random)§impl Index<RangeFull> for ByteString
impl Index<RangeFull> for ByteString
§impl IndexMut<RangeFull> for ByteString
impl IndexMut<RangeFull> for ByteString
§impl<T> IntoBounds<T> for RangeFull
impl<T> IntoBounds<T> for RangeFull
§fn into_bounds(self) -> (Bound<T>, Bound<T>)
fn into_bounds(self) -> (Bound<T>, Bound<T>)
range_into_bounds)(start_bound, end_bound). Read more1.28.0 (const: unstable)§impl<T> RangeBounds<T> for RangeFullwhere
T: ?Sized,
impl<T> RangeBounds<T> for RangeFullwhere
T: ?Sized,
§fn start_bound(&self) -> Bound<&T>
fn start_bound(&self) -> Bound<&T>
§fn is_empty(&self) -> boolwhere
T: PartialOrd,
fn is_empty(&self) -> boolwhere
T: PartialOrd,
range_bounds_is_empty)true if the range contains no items.
One-sided ranges (RangeFrom, etc) always return false. Read more1.15.0 (const: unstable)§impl<T> SliceIndex<[T]> for RangeFull
impl<T> SliceIndex<[T]> for RangeFull
§fn get(self, slice: &[T]) -> Option<&[T]>
fn get(self, slice: &[T]) -> Option<&[T]>
slice_index_methods)§fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
slice_index_methods)§unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
slice_index_methods)§unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
slice_index_methods)§impl SliceIndex<ByteStr> for RangeFull
impl SliceIndex<ByteStr> for RangeFull
§fn get(
self,
slice: &ByteStr,
) -> Option<&<RangeFull as SliceIndex<ByteStr>>::Output>
fn get( self, slice: &ByteStr, ) -> Option<&<RangeFull as SliceIndex<ByteStr>>::Output>
slice_index_methods)§fn get_mut(
self,
slice: &mut ByteStr,
) -> Option<&mut <RangeFull as SliceIndex<ByteStr>>::Output>
fn get_mut( self, slice: &mut ByteStr, ) -> Option<&mut <RangeFull as SliceIndex<ByteStr>>::Output>
slice_index_methods)§unsafe fn get_unchecked(
self,
slice: *const ByteStr,
) -> *const <RangeFull as SliceIndex<ByteStr>>::Output
unsafe fn get_unchecked( self, slice: *const ByteStr, ) -> *const <RangeFull as SliceIndex<ByteStr>>::Output
slice_index_methods)§unsafe fn get_unchecked_mut(
self,
slice: *mut ByteStr,
) -> *mut <RangeFull as SliceIndex<ByteStr>>::Output
unsafe fn get_unchecked_mut( self, slice: *mut ByteStr, ) -> *mut <RangeFull as SliceIndex<ByteStr>>::Output
slice_index_methods)1.20.0 (const: unstable)§impl SliceIndex<str> for RangeFull
Implements substring slicing with syntax &self[..] or &mut self[..].
impl SliceIndex<str> for RangeFull
Implements substring slicing with syntax &self[..] or &mut self[..].
Returns a slice of the whole string, i.e., returns &self or &mut self. Equivalent to &self[0 .. len] or &mut self[0 .. len]. Unlike
other indexing operations, this can never panic.
This operation is O(1).
Prior to 1.20.0, these indexing operations were still supported by
direct implementation of Index and IndexMut.
Equivalent to &self[0 .. len] or &mut self[0 .. len].
§fn get(self, slice: &str) -> Option<&<RangeFull as SliceIndex<str>>::Output>
fn get(self, slice: &str) -> Option<&<RangeFull as SliceIndex<str>>::Output>
slice_index_methods)§fn get_mut(
self,
slice: &mut str,
) -> Option<&mut <RangeFull as SliceIndex<str>>::Output>
fn get_mut( self, slice: &mut str, ) -> Option<&mut <RangeFull as SliceIndex<str>>::Output>
slice_index_methods)§unsafe fn get_unchecked(
self,
slice: *const str,
) -> *const <RangeFull as SliceIndex<str>>::Output
unsafe fn get_unchecked( self, slice: *const str, ) -> *const <RangeFull as SliceIndex<str>>::Output
slice_index_methods)§unsafe fn get_unchecked_mut(
self,
slice: *mut str,
) -> *mut <RangeFull as SliceIndex<str>>::Output
unsafe fn get_unchecked_mut( self, slice: *mut str, ) -> *mut <RangeFull as SliceIndex<str>>::Output
slice_index_methods)impl Copy for RangeFull
impl Eq for RangeFull
impl StructuralPartialEq for RangeFull
Auto Trait Implementations§
impl Freeze for RangeFull
impl RefUnwindSafe for RangeFull
impl Send for RangeFull
impl Sync for RangeFull
impl Unpin for RangeFull
impl UnwindSafe for RangeFull
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.