RangeToInclusive in core::ops - Rust (original) (raw)
Struct RangeToInclusive
1.26.0 · Source
pub struct RangeToInclusive<Idx> {
pub end: Idx,
}Expand description
A range only bounded inclusively above (..=end).
The RangeToInclusive ..=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 RangeToInclusive:
assert_eq!((..=5), std::ops::RangeToInclusive{ end: 5 });It does not have an IntoIterator implementation, so you can’t use it in afor loop directly. This won’t compile:
// error[E0277]: the trait bound `std::ops::RangeToInclusive<{integer}>:
// std::iter::Iterator` is not satisfied
for i in ..=5 {
// ...
}When used as a slicing index, RangeToInclusive produces a slice of all array elements up to and including 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 ]);
assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]); // This is a `RangeToInclusive`
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 (inclusive)
1.35.0 (const: unstable) · Source
Returns true if item is contained in the range.
§Examples
assert!( (..=5).contains(&-1_000_000_000));
assert!( (..=5).contains(&5));
assert!(!(..=5).contains(&6));
assert!( (..=1.0).contains(&1.0));
assert!(!(..=1.0).contains(&f32::NAN));
assert!(!(..=f32::NAN).contains(&0.5));
Converts to this type from the input type.
Converts to this type from the input type.
🔬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.
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 ..=end with (Bound::Unbounded, Bound::Included(end)).
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
1.28.0 (const: unstable) · Source§
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
1.26.0 (const: unstable) · Source§
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.
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.
1.26.0 (const: unstable) · Source§
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 + 1], except if end has the maximum value for usize.
This operation is O(1).
§Panics
Panics if end does not point to the ending byte offset of a character (end + 1 is either a starting byte offset as defined byis_char_boundary, or equal to len), 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.