Struct Range
1.6.0 · Source
pub struct Range<Idx> {
pub start: Idx,
pub end: Idx,
}Expand description
A (half-open) range bounded inclusively below and exclusively above
(start..end).
The range start..end contains all values with start <= x < end.
It is empty if start >= end.
§Examples
The start..end syntax is a Range:
assert_eq!((3..5), std::ops::Range { start: 3, end: 5 });
assert_eq!(3 + 4 + 5, (3..6).sum());let arr = [0, 1, 2, 3, 4];
assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]);
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 ]); // This is a `Range`
assert_eq!(arr[1..=3], [ 1, 2, 3 ]);The lower bound of the range (inclusive).
The upper bound of the range (exclusive).
Source§
1.35.0 (const: unstable) · Source
Returns true if item is contained in the range.
§Examples
assert!(!(3..5).contains(&2));
assert!( (3..5).contains(&3));
assert!( (3..5).contains(&4));
assert!(!(3..5).contains(&5));
assert!(!(3..3).contains(&3));
assert!(!(3..2).contains(&3));
assert!( (0.0..1.0).contains(&0.5));
assert!(!(0.0..1.0).contains(&f32::NAN));
assert!(!(0.0..f32::NAN).contains(&0.5));
assert!(!(f32::NAN..1.0).contains(&0.5));1.47.0 (const: unstable) · Source
Returns true if the range contains no items.
§Examples
assert!(!(3..5).is_empty());
assert!( (3..3).is_empty());
assert!( (3..2).is_empty());The range is empty if either side is incomparable:
assert!(!(3.0..5.0).is_empty());
assert!( (3.0..f32::NAN).is_empty());
assert!( (f32::NAN..5.0).is_empty());1.0.0 · Source§
Source§
🔬This is a nightly-only experimental API. (iter_advance_by #77404)
Advances the iterator from the back by n elements. Read more
1.27.0 · Source§
This is the reverse version of Iterator::try_fold(): it takes
elements starting from the back of the iterator. Read more
1.0.0 · Source§
Source§
🔬This is a nightly-only experimental API. (iter_advance_by #77404)
Advances the iterator by n elements. Read more
Source§
🔬This is a nightly-only experimental API. (iter_next_chunk #98326)
Advances the iterator and returns an array containing the next N values. Read more
1.28.0 · Source§
Creates an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
Source§
🔬This is a nightly-only experimental API. (iter_intersperse #79524)
Creates a new iterator which places a copy of separator between adjacent
items of the original iterator. Read more
Source§
🔬This is a nightly-only experimental API. (iter_intersperse #79524)
Creates a new iterator which places an item generated by separator
between adjacent items of the original iterator. Read more
1.0.0 · Source§
Takes a closure and creates an iterator which calls that closure on each element. Read more
1.0.0 · Source§
Creates an iterator which uses a closure to determine if an element should be yielded. Read more
1.0.0 · Source§
Creates an iterator which gives the current iteration count as well as the next value. Read more
1.0.0 · Source§
Creates an iterator which can use the peek and peek_mut methods
to look at the next element of the iterator without consuming it. See
their documentation for more information. Read more
1.57.0 · Source§
Creates an iterator that both yields elements based on a predicate and maps. Read more
1.0.0 · Source§
Creates an iterator that yields the first n elements, or fewer
if the underlying iterator ends sooner. Read more
1.0.0 · Source§
An iterator adapter which, like fold, holds internal state, but
unlike fold, produces a new iterator. Read more
Source§
🔬This is a nightly-only experimental API. (iter_map_windows #87155)
Calls the given function f for each contiguous window of size N over
self and returns an iterator over the outputs of f. Like slice::windows(),
the windows during mapping overlap as well. Read more
Source§
🔬This is a nightly-only experimental API. (iterator_try_collect #94047)
Fallibly transforms an iterator into a collection, short circuiting if a failure is encountered. Read more
Source§
🔬This is a nightly-only experimental API. (iter_collect_into #94780)
Collects all the items from an iterator into a collection. Read more
Source§
🔬This is a nightly-only experimental API. (iter_partition_in_place #62543)
Reorders the elements of this iterator in-place according to the given predicate,
such that all those that return true precede all those that return false.
Returns the number of true elements found. Read more
Source§
🔬This is a nightly-only experimental API. (iter_is_partitioned #62544)
Checks if the elements of this iterator are partitioned according to the given predicate,
such that all those that return true precede all those that return false. Read more
1.27.0 · Source§
An iterator method that applies a function as long as it returns successfully, producing a single, final value. Read more
1.27.0 · Source§
An iterator method that applies a fallible function to each item in the iterator, stopping at the first error and returning that error. Read more
1.0.0 · Source§
Folds every element into an accumulator by applying an operation, returning the final result. Read more
1.51.0 · Source§
Reduces the elements to a single one, by repeatedly applying a reducing operation. Read more
Source§
🔬This is a nightly-only experimental API. (iterator_try_reduce #87053)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the closure returns a failure, the failure is propagated back to the caller immediately. Read more
1.30.0 · Source§
Applies function to the elements of iterator and returns the first non-none result. Read more
Source§
🔬This is a nightly-only experimental API. (try_find #63178)
Applies function to the elements of iterator and returns the first true result or the first error. Read more
1.0.0 · Source§
Searches for an element in an iterator from the right, returning its index. Read more
1.6.0 · Source§
Returns the element that gives the maximum value from the specified function. Read more
1.15.0 · Source§
Returns the element that gives the maximum value with respect to the specified comparison function. Read more
1.6.0 · Source§
Returns the element that gives the minimum value from the specified function. Read more
1.15.0 · Source§
Returns the element that gives the minimum value with respect to the specified comparison function. Read more
Source§
🔬This is a nightly-only experimental API. (iter_array_chunks #100450)
Returns an iterator over N elements of the iterator at a time. Read more
Source§
🔬This is a nightly-only experimental API. (iter_order_by #64295)
Lexicographically compares the elements of this Iterator with those
of another with respect to the specified comparison function. Read more
1.5.0 · Source§
Lexicographically compares the PartialOrd elements of
this Iterator with those of another. The comparison works like short-circuit
evaluation, returning a result without comparing the remaining elements.
As soon as an order can be determined, the evaluation stops and a result is returned. Read more
Source§
🔬This is a nightly-only experimental API. (iter_order_by #64295)
Lexicographically compares the elements of this Iterator with those
of another with respect to the specified comparison function. Read more
Source§
🔬This is a nightly-only experimental API. (iter_order_by #64295)
Determines if the elements of this Iterator are equal to those of
another with respect to the specified equality function. Read more
1.5.0 · Source§
Determines if the elements of this Iterator are not equal to those of
another. Read more
1.28.0 (const: unstable) · Source§If you need to use this implementation where T is unsized,
consider using the RangeBounds impl for a 2-tuple of Bound<&T>,
i.e. replace start..end with (Bound::Included(start), Bound::Excluded(end)).
If you need to use this implementation where T is unsized,
consider using the RangeBounds impl for a 2-tuple of Bound<&T>,
i.e. replace start..end with (Bound::Included(start), Bound::Excluded(end)).
1.15.0 (const: unstable) · Source§The methods index and index_mut panic if:
The methods index and index_mut panic if:
- the start of the range is greater than the end of the range or
- the end of the range is out of bounds.
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in bounds.
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in bounds.
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without performing any bounds checking. Read more
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without performing any bounds checking. Read more
Source§
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in bounds.
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in bounds.
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without performing any bounds checking. Read more
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without performing any bounds checking. Read more
1.20.0 (const: unstable) · Source§Implements substring slicing with syntax &self[begin .. end] or &mut self[begin .. end].
Implements substring slicing with syntax &self[begin .. end] or &mut self[begin .. end].
Returns a slice of the given string from the byte range
[begin, end).
This operation is O(1).
Prior to 1.20.0, these indexing operations were still supported by
direct implementation of Index and IndexMut.
§Panics
Panics if begin or end does not point to the starting byte offset of
a character (as defined by is_char_boundary), if begin > end, or if
end > len.
§Examples
let s = "Löwe 老虎 Léopard";
assert_eq!(&s[0 .. 1], "L");
assert_eq!(&s[1 .. 9], "öwe 老");
// these will panic:
// byte 2 lies within `ö`:
// &s[2 ..3];
// byte 8 lies within `老`
// &s[1 .. 8];
// byte 100 is outside the string
// &s[3 .. 100];Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in bounds.
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in bounds.
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without performing any bounds checking. Read more
Source§
🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without performing any bounds checking. Read more