Struct ethcore_util::standard::ops::RangeFull1.0.0 [] [src]

pub struct RangeFull;

An unbounded range. Use .. (two dots) for its shorthand.

Its primary use case is slicing index. 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];
assert_eq!(arr[ .. ], [0,1,2,3]);  // RangeFull
assert_eq!(arr[ ..3], [0,1,2  ]);
assert_eq!(arr[1.. ], [  1,2,3]);
assert_eq!(arr[1..3], [  1,2  ]);

Trait Implementations

impl<T> RangeArgument<T> for RangeFull

impl Eq for RangeFull

impl Hash for RangeFull

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.

impl Copy for RangeFull

impl Clone for RangeFull

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for RangeFull

Formats the value using the given formatter.

impl PartialEq<RangeFull> for RangeFull

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl GenericRange for RangeFull

impl<T> IndexRange<T> for RangeFull