W3cubDocs

/Rust

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:

ⓘThis example deliberately fails to 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]);  // 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 Copy for RangeFull[src]

impl Hash for RangeFull[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
[src]1.3.0

Feeds a slice of this type into the given [Hasher]. Read more

impl Clone for RangeFull[src]

fn clone_from(&mut self, source: &Self)[src]

Performs copy-assignment from source. Read more

impl Eq for RangeFull[src]

impl Debug for RangeFull[src]

impl PartialEq<RangeFull> for RangeFull[src]

fn ne(&self, other: &Rhs) -> bool[src]

This method tests for !=.

impl<T> SliceIndex<[T]> for RangeFull[src]1.15.0

type Output = [T]

The output type returned by methods.

ⓘImportant traits for &'_ [u8]
impl<'_> Read for &'_ [u8]
impl<'_> Write for &'_ mut [u8]
ⓘImportant traits for &'_ [u8]
impl<'_> Read for &'_ [u8]
impl<'_> Write for &'_ mut [u8]
ⓘImportant traits for &'_ [u8]
impl<'_> Read for &'_ [u8]
impl<'_> Write for &'_ mut [u8]
ⓘImportant traits for &'_ [u8]
impl<'_> Read for &'_ [u8]
impl<'_> Write for &'_ mut [u8]

impl SliceIndex<str> for RangeFull[src]1.20.0

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.

impl<T> RangeBounds<T> for RangeFull where
    T: ?Sized
[src]1.28.0

fn contains<U>(&self, item: &U) -> bool where
    T: PartialOrd<U>,
    U: PartialOrd<T> + ?Sized
[src]1.35.0

Returns true if item is contained in the range. Read more

impl Index<RangeFull> for String[src]

type Output = str

The returned type after indexing.

impl IndexMut<RangeFull> for String[src]1.3.0

impl Index<RangeFull> for CString[src]1.7.0

type Output = CStr

The returned type after indexing.

impl Index<RangeFull> for OsString[src]

type Output = OsStr

The returned type after indexing.

Auto Trait Implementations

impl UnwindSafe for RangeFull

impl RefUnwindSafe for RangeFull

impl Unpin for RangeFull

impl Send for RangeFull

impl Sync for RangeFull

Blanket Implementations

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

ⓘImportant traits for &'_ mut F
impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized, 
    type Output = <F as Future>::Output;
impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized, 
    type Item = <I as Iterator>::Item;
impl<'_, R: Read + ?Sized> Read for &'_ mut R
impl<'_, W: Write + ?Sized> Write for &'_ mut W

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

ⓘImportant traits for &'_ mut F
impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized, 
    type Output = <F as Future>::Output;
impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized, 
    type Item = <I as Iterator>::Item;
impl<'_, R: Read + ?Sized> Read for &'_ mut R
impl<'_, W: Write + ?Sized> Write for &'_ mut W

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

© 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