Struct std::ops::RangeTo1.0.0 [] [src]

pub struct RangeTo<Idx> {
    pub end: Idx,
}

A range which is only bounded above: { x | x < end }. Use ..end (two dots) for its shorthand.

See the contains() method for its characterization.

It cannot serve as an iterator because it doesn't have a starting point.

fn main() { assert_eq!((..5), std::ops::RangeTo{ end: 5 }); let arr = [0, 1, 2, 3]; assert_eq!(arr[ .. ], [0,1,2,3]); assert_eq!(arr[ ..3], [0,1,2 ]); // RangeTo assert_eq!(arr[1.. ], [ 1,2,3]); assert_eq!(arr[1..3], [ 1,2 ]); }
fn main() {
    assert_eq!((..5), std::ops::RangeTo{ end: 5 });

    let arr = [0, 1, 2, 3];
    assert_eq!(arr[ .. ], [0,1,2,3]);
    assert_eq!(arr[ ..3], [0,1,2  ]);  // RangeTo
    assert_eq!(arr[1.. ], [  1,2,3]);
    assert_eq!(arr[1..3], [  1,2  ]);
}

Fields

end: Idx

The upper bound of the range (exclusive).

Methods

impl<Idx> RangeTo<Idx> where Idx: PartialOrd<Idx>

fn contains(&self, item: Idx) -> bool

Unstable (range_contains #32311)

: recently added as per RFC

Examples

#![feature(range_contains)] fn main() { assert!( (..5).contains(-1_000_000_000)); assert!( (..5).contains(4)); assert!( ! (..5).contains(5)); }
#![feature(range_contains)]
fn main() {
    assert!(   (..5).contains(-1_000_000_000));
    assert!(   (..5).contains(4));
    assert!( ! (..5).contains(5));
}

Trait Implementations

impl<Idx> Hash for RangeTo<Idx> where Idx: Hash

fn hash<__HIdx>(&self, __arg_0: &mut __HIdx) where __HIdx: Hasher

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

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

Feeds a slice of this type into the state provided.

impl<Idx> Eq for RangeTo<Idx> where Idx: Eq

impl<Idx> PartialEq<RangeTo<Idx>> for RangeTo<Idx> where Idx: PartialEq<Idx>

fn eq(&self, __arg_0: &RangeTo<Idx>) -> bool

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

fn ne(&self, __arg_0: &RangeTo<Idx>) -> bool

This method tests for !=.

impl<Idx> Clone for RangeTo<Idx> where Idx: Clone

fn clone(&self) -> RangeTo<Idx>

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

impl<Idx> Copy for RangeTo<Idx> where Idx: Copy

impl<Idx> Debug for RangeTo<Idx> where Idx: Debug

fn fmt(&self, fmt: &mut Formatter) -> Result<()Error>

Formats the value using the given formatter.

impl<T> RangeArgument<T> for RangeTo<T>

fn end(&self) -> Option<&T>

Unstable (collections_range #30877)

: waiting for dust to settle on inclusive ranges