RangeTo in core::ops - Rust (original) (raw)
Struct RangeTo
1.6.0 · Source
pub struct RangeTo<Idx> {
pub end: Idx,
}
Expand description
A range only bounded exclusively above (..end
).
The RangeTo
..end
contains all values with x < end
. It cannot serve as an Iterator because it doesn’t have a starting point.
§Examples
The ..end
syntax is a RangeTo
:
assert_eq!((..5), std::ops::RangeTo { end: 5 });
It does not have an IntoIterator implementation, so you can’t use it in a for
loop directly. This won’t compile:
// error[E0277]: the trait bound `std::ops::RangeTo<{integer}>:
// std::iter::Iterator` is not satisfied
for i in ..5 {
// ...
}
When used as a slicing index, RangeTo
produces a slice of all array elements before the index indicated by end
.
let arr = [0, 1, 2, 3, 4];
assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]);
assert_eq!(arr[ .. 3], [0, 1, 2 ]); // This is a `RangeTo`
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 ]);
The upper bound of the range (exclusive).
1.35.0 · Source
Returns true
if item
is contained in the range.
§Examples
assert!( (..5).contains(&-1_000_000_000));
assert!( (..5).contains(&4));
assert!(!(..5).contains(&5));
assert!( (..1.0).contains(&0.5));
assert!(!(..1.0).contains(&f32::NAN));
assert!(!(..f32::NAN).contains(&0.5));
The returned type after indexing.
Performs the indexing (container[index]
) operation. Read more
🔬This is a nightly-only experimental API. (range_into_bounds
#136903)
Convert this range into the start and end bounds. Returns (start_bound, end_bound)
. Read more
🔬This is a nightly-only experimental API. (range_into_bounds
#136903)
Compute the intersection of self
and other
. Read more
🔬This is a nightly-only experimental API. (one_sided_range
#69780)
An internal-only helper function for split_off
andsplit_off_mut
that returns the bound of the one-sided range.
Tests for self
and other
values to be equal, and is used by ==
.
Tests for !=
. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Returns true
if item
is contained in the range. Read more
🔬This is a nightly-only experimental API. (range_bounds_is_empty
#137300)
Returns true
if the range contains no items. One-sided ranges (RangeFrom
, etc) always return false
. Read more
Returns true
if item
is contained in the range. Read more
🔬This is a nightly-only experimental API. (range_bounds_is_empty
#137300)
Returns true
if the range contains no items. One-sided ranges (RangeFrom
, etc) always return false
. Read more
The methods index
and index_mut
panic if the end of the range is out of bounds.
The output type returned by methods.
🔬This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, if in bounds.
🔬This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, if in bounds.
🔬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
🔬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
🔬This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, panicking if out of bounds.
🔬This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, panicking if out of bounds.
Implements substring slicing with syntax &self[.. end]
or &mut self[.. end]
.
Returns a slice of the given string from the byte range [0, end
). Equivalent to &self[0 .. end]
or &mut self[0 .. 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 end
does not point to the starting byte offset of a character (as defined by is_char_boundary
), or if end > len
.
The output type returned by methods.
🔬This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, if in bounds.
🔬This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, if in bounds.
🔬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
🔬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
🔬This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, panicking if out of bounds.
🔬This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, panicking if out of bounds.