Struct std::ops::RangeFull
pub struct RangeFull;
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 Clone for RangeFull
pub fn clone(&self) -> RangeFull
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for RangeFull
pub fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Default for RangeFull
impl Hash for RangeFull
impl Index<RangeFull> for String
type Output = str
The returned type after indexing.
pub fn index(&self, _index: RangeFull) -> &str
Performs the indexing (container[index]
) operation. Read more
impl Index<RangeFull> for CString
type Output = CStr
The returned type after indexing.
fn index(&self, _index: RangeFull) -> &CStr
Performs the indexing (container[index]
) operation. Read more
impl Index<RangeFull> for OsString
type Output = OsStr
The returned type after indexing.
fn index(&self, _index: RangeFull) -> &OsStr
Performs the indexing (container[index]
) operation. Read more
impl IndexMut<RangeFull> for String
pub fn index_mut(&mut self, _index: RangeFull) -> &mut str
Performs the mutable indexing (container[index]
) operation. Read more
impl IndexMut<RangeFull> for OsString
fn index_mut(&mut self, _index: RangeFull) -> &mut OsStr
Performs the mutable indexing (container[index]
) operation. Read more
impl PartialEq<RangeFull> for RangeFull
pub fn eq(&self, other: &RangeFull) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
pub fn start_bound(&self) -> Bound<&T>
Start index bound. Read more
pub fn end_bound(&self) -> Bound<&T>
End index bound. Read more
fn contains<U>(&self, item: &U) -> bool where
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,
Returns true
if item
is contained in the range. Read more
impl<T> SliceIndex<[T]> for RangeFull
type Output = [T]
The output type returned by methods.
pub fn get(self, slice: &[T]) -> Option<&[T]>
slice_index_methods
)Returns a shared reference to the output at this location, if in bounds. Read more
pub fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
slice_index_methods
)Returns a mutable reference to the output at this location, if in bounds. Read more
pub unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
slice_index_methods
)Returns a shared reference to the output at this location, without performing any bounds checking. Calling this method with an out-of-bounds index or a dangling slice
pointer is undefined behavior even if the resulting reference is not used. Read more
pub unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
slice_index_methods
)Returns a mutable reference to the output at this location, without performing any bounds checking. Calling this method with an out-of-bounds index or a dangling slice
pointer is undefined behavior even if the resulting reference is not used. Read more
pub fn index(self, slice: &[T]) -> &[T]
slice_index_methods
)Returns a shared reference to the output at this location, panicking if out of bounds. Read more
pub fn index_mut(self, slice: &mut [T]) -> &mut [T]
slice_index_methods
)Returns a mutable reference to the output at this location, panicking if out of bounds. Read more
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]
.
type Output = str
The output type returned by methods.
pub fn get(self, slice: &str) -> Option<&<RangeFull as SliceIndex<str>>::Output>
slice_index_methods
)Returns a shared reference to the output at this location, if in bounds. Read more
pub fn get_mut(
self,
slice: &mut str
) -> Option<&mut <RangeFull as SliceIndex<str>>::Output>
slice_index_methods
)Returns a mutable reference to the output at this location, if in bounds. Read more
pub unsafe fn get_unchecked(
self,
slice: *const str
) -> *const <RangeFull as SliceIndex<str>>::Output
slice_index_methods
)Returns a shared reference to the output at this location, without performing any bounds checking. Calling this method with an out-of-bounds index or a dangling slice
pointer is undefined behavior even if the resulting reference is not used. Read more
pub unsafe fn get_unchecked_mut(
self,
slice: *mut str
) -> *mut <RangeFull as SliceIndex<str>>::Output
slice_index_methods
)Returns a mutable reference to the output at this location, without performing any bounds checking. Calling this method with an out-of-bounds index or a dangling slice
pointer is undefined behavior even if the resulting reference is not used. Read more
pub fn index(self, slice: &str) -> &<RangeFull as SliceIndex<str>>::Output
slice_index_methods
)Returns a shared reference to the output at this location, panicking if out of bounds. Read more
pub fn index_mut(
self,
slice: &mut str
) -> &mut <RangeFull as SliceIndex<str>>::Output
slice_index_methods
)Returns a mutable reference to the output at this location, panicking if out of bounds. Read more
impl Copy for RangeFull
impl Eq for RangeFull
impl StructuralEq for RangeFull
impl StructuralPartialEq for RangeFull
Auto Trait Implementations
impl RefUnwindSafe for RangeFull
impl Send for RangeFull
impl Sync for RangeFull
impl Unpin for RangeFull
impl UnwindSafe for RangeFull
Blanket Implementations
impl<T> From<T> for T
pub fn from(t: T) -> T
Performs the conversion.
pub fn into(self) -> U
Performs the conversion.
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
#41263)recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ops/struct.RangeFull.html