struct MergeState<T> {
start: *mut T,
end: *mut T,
dst: *mut T,
}
🔬This is a nightly-only experimental API. (
slice_internals
)Fields§
§start: *mut T
🔬This is a nightly-only experimental API. (
§slice_internals
)end: *mut T
🔬This is a nightly-only experimental API. (
§slice_internals
)dst: *mut T
🔬This is a nightly-only experimental API. (
slice_internals
)Implementations§
Source§impl<T> MergeState<T>
impl<T> MergeState<T>
Sourceunsafe fn merge_up<F: FnMut(&T, &T) -> bool>(
&mut self,
right: *const T,
right_end: *const T,
is_less: &mut F,
)
🔬This is a nightly-only experimental API. (slice_internals
)
unsafe fn merge_up<F: FnMut(&T, &T) -> bool>( &mut self, right: *const T, right_end: *const T, is_less: &mut F, )
slice_internals
)§Safety
The caller MUST guarantee that self
is initialized in a way where start -> end
is
the longer sub-slice and so that dst
can be written to at least the shorter sub-slice
length times. In addition start -> end
and right -> right_end
MUST be valid to be
read. This function MUST only be called once.
Sourceunsafe fn merge_down<F: FnMut(&T, &T) -> bool>(
&mut self,
left_end: *const T,
right_end: *const T,
out: *mut T,
is_less: &mut F,
)
🔬This is a nightly-only experimental API. (slice_internals
)
unsafe fn merge_down<F: FnMut(&T, &T) -> bool>( &mut self, left_end: *const T, right_end: *const T, out: *mut T, is_less: &mut F, )
slice_internals
)§Safety
The caller MUST guarantee that self
is initialized in a way where left_end <- dst
is
the shorter sub-slice and so that out
can be written to at least the shorter sub-slice
length times. In addition left_end <- dst
and right_end <- end
MUST be valid to be
read. This function MUST only be called once.
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for MergeState<T>
impl<T> RefUnwindSafe for MergeState<T>where
T: RefUnwindSafe,
impl<T> !Send for MergeState<T>
impl<T> !Sync for MergeState<T>
impl<T> Unpin for MergeState<T>
impl<T> UnsafeUnpin for MergeState<T>
impl<T> UnwindSafe for MergeState<T>where
T: RefUnwindSafe,
Blanket Implementations§
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> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)The largest safe length for a
[Self]
. Read more