struct TwoStepIndex {
private_use_as_methods_instead: u32,
}
Expand description
A reversed PointIndex
but with the lower bit encoding early/late inside the statement.
The reversed order allows to use the more efficient IntervalSet::append
method while we
iterate on the statements in reverse order.
Fields§
§private_use_as_methods_instead: u32
Implementations§
Source§impl TwoStepIndex
impl TwoStepIndex
Sourceconst MAX_AS_U32: u32 = 4_294_967_040u32
const MAX_AS_U32: u32 = 4_294_967_040u32
Maximum value the index can take, as a u32
.
Sourceconst fn from_usize(value: usize) -> Self
const fn from_usize(value: usize) -> Self
Sourceconst unsafe fn from_u32_unchecked(value: u32) -> Self
const unsafe fn from_u32_unchecked(value: u32) -> Self
Creates a new index from a given u32
.
§Safety
The provided value must be less than or equal to the maximum value for the newtype. Providing a value outside this range is undefined due to layout restrictions.
Prefer using from_u32
.
Source§impl TwoStepIndex
impl TwoStepIndex
fn new( elements: &DenseLocationMap, location: Location, effect: Effect, ) -> TwoStepIndex
Trait Implementations§
Source§impl Add<usize> for TwoStepIndex
impl Add<usize> for TwoStepIndex
Source§impl AddAssign<usize> for TwoStepIndex
impl AddAssign<usize> for TwoStepIndex
Source§fn add_assign(&mut self, other: usize)
fn add_assign(&mut self, other: usize)
Performs the
+=
operation. Read moreSource§impl Clone for TwoStepIndex
impl Clone for TwoStepIndex
Source§fn clone(&self) -> TwoStepIndex
fn clone(&self) -> TwoStepIndex
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for TwoStepIndex
impl Debug for TwoStepIndex
Source§impl From<TwoStepIndex> for u32
impl From<TwoStepIndex> for u32
Source§fn from(v: TwoStepIndex) -> u32
fn from(v: TwoStepIndex) -> u32
Converts to this type from the input type.
Source§impl From<TwoStepIndex> for usize
impl From<TwoStepIndex> for usize
Source§fn from(v: TwoStepIndex) -> usize
fn from(v: TwoStepIndex) -> usize
Converts to this type from the input type.
Source§impl From<u32> for TwoStepIndex
impl From<u32> for TwoStepIndex
Source§impl From<usize> for TwoStepIndex
impl From<usize> for TwoStepIndex
Source§impl Hash for TwoStepIndex
impl Hash for TwoStepIndex
Source§impl Idx for TwoStepIndex
impl Idx for TwoStepIndex
Source§impl Ord for TwoStepIndex
impl Ord for TwoStepIndex
Source§fn cmp(&self, other: &TwoStepIndex) -> Ordering
fn cmp(&self, other: &TwoStepIndex) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for TwoStepIndex
impl PartialEq for TwoStepIndex
Source§impl PartialOrd for TwoStepIndex
impl PartialOrd for TwoStepIndex
Source§impl Step for TwoStepIndex
impl Step for TwoStepIndex
Source§fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>)
fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>)
🔬This is a nightly-only experimental API. (
step_trait
)Returns the bounds on the number of successor steps required to get from
start
to end
like Iterator::size_hint()
. Read moreSource§fn forward_checked(start: Self, u: usize) -> Option<Self>
fn forward_checked(start: Self, u: usize) -> Option<Self>
🔬This is a nightly-only experimental API. (
step_trait
)Source§fn backward_checked(start: Self, u: usize) -> Option<Self>
fn backward_checked(start: Self, u: usize) -> Option<Self>
🔬This is a nightly-only experimental API. (
step_trait
)Source§fn forward(start: Self, count: usize) -> Self
fn forward(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)Source§unsafe fn forward_unchecked(start: Self, count: usize) -> Self
unsafe fn forward_unchecked(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)Source§fn backward(start: Self, count: usize) -> Self
fn backward(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)Source§unsafe fn backward_unchecked(start: Self, count: usize) -> Self
unsafe fn backward_unchecked(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)impl Copy for TwoStepIndex
impl Eq for TwoStepIndex
impl StructuralPartialEq for TwoStepIndex
Auto Trait Implementations§
impl DynSend for TwoStepIndex
impl DynSync for TwoStepIndex
impl Freeze for TwoStepIndex
impl RefUnwindSafe for TwoStepIndex
impl Send for TwoStepIndex
impl Sync for TwoStepIndex
impl Unpin for TwoStepIndex
impl UnwindSafe for TwoStepIndex
Blanket Implementations§
Source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
Source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
Source§impl<I, T> IntoSliceIdx<I, [T]> for Iwhere
I: Idx,
impl<I, T> IntoSliceIdx<I, [T]> for Iwhere
I: Idx,
type Output = usize
fn into_slice_idx(self) -> <I as IntoSliceIdx<I, [T]>>::Output
Source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed, ) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 4 bytes