pub struct AllocatorKeyV32 {
pub device_range: Extent,
}Fields§
§device_range: ExtentImplementations§
Source§impl AllocatorKeyV32
impl AllocatorKeyV32
Sourcepub fn lower_bound_for_merge_into(&self) -> AllocatorKey
pub fn lower_bound_for_merge_into(&self) -> AllocatorKey
Returns a search key for merge_into that finds any touching predecessor to coalesce with.
Extents in the tree are sorted by cmp_upper_bound as (end, -start):
Tree: [ Predecessor ) [ Key to insert )
Offsets: X 10 20
Search key: | (10..10)Searching with 10..10 has end=10, len=0. Because shorter extents sort earlier when
ends match, 10..10 sorts before any valid extent X..10 (len > 0). This positions the
iterator at X..10 so it can be merged with 10..20.
Trait Implementations§
Source§impl Clone for AllocatorKeyV32
impl Clone for AllocatorKeyV32
Source§fn clone(&self) -> AllocatorKeyV32
fn clone(&self) -> AllocatorKeyV32
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 AllocatorKeyV32
impl Debug for AllocatorKeyV32
Source§impl<'de> Deserialize<'de> for AllocatorKeyV32
impl<'de> Deserialize<'de> for AllocatorKeyV32
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for AllocatorKeyV32
Source§impl Hash for AllocatorKeyV32
impl Hash for AllocatorKeyV32
Source§impl<I: LayerIterator<AllocatorKey, AllocatorValue>> LayerIterator<AllocatorKeyV32, AllocatorValueV32> for CoalescingIterator<I>
impl<I: LayerIterator<AllocatorKey, AllocatorValue>> LayerIterator<AllocatorKeyV32, AllocatorValueV32> for CoalescingIterator<I>
Source§async fn advance(&mut self) -> Result<(), Error>
async fn advance(&mut self) -> Result<(), Error>
Advances the iterator (static dispatch, unboxed future).
Source§fn advance_dyn<'a>(
&'a mut self,
) -> Result<Option<BoxFuture<'a, Result<(), Error>>>, Error>
fn advance_dyn<'a>( &'a mut self, ) -> Result<Option<BoxFuture<'a, Result<(), Error>>>, Error>
Advances the iterator for dynamic dispatch (trait objects).
If the iterator advances synchronously, returns
Ok(None).Source§fn get(&self) -> Option<ItemRef<'_, AllocatorKey, AllocatorValue>>
fn get(&self) -> Option<ItemRef<'_, AllocatorKey, AllocatorValue>>
Returns the current item. This will be None if called when the iterator is first crated i.e.
before either seek or advance has been called, and None if the iterator has reached the end
of the layer.
Source§impl Ord for AllocatorKeyV32
impl Ord for AllocatorKeyV32
Source§fn cmp(&self, other: &AllocatorKeyV32) -> Ordering
fn cmp(&self, other: &AllocatorKeyV32) -> Ordering
1.21.0 (const: unstable) · 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
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialEq for AllocatorKeyV32
impl PartialEq for AllocatorKeyV32
Source§impl PartialOrd for AllocatorKeyV32
impl PartialOrd for AllocatorKeyV32
Source§impl Serialize for AllocatorKeyV32
impl Serialize for AllocatorKeyV32
Source§impl SerializeKey for AllocatorKeyV32
impl SerializeKey for AllocatorKeyV32
Source§type Output<'a, B: Buffer + 'a> = <Extent as SerializeKey>::Output<'a, B>
type Output<'a, B: Buffer + 'a> = <Extent as SerializeKey>::Output<'a, B>
The serializer state returned after writing this type (
KeySerializer for non-terminal
types, or KeySerializerFinalized for variable-length trailing types).Source§fn serialize_key_to<'a, B: Buffer>(
&self,
serializer: KeySerializer<'a, B>,
) -> Self::Output<'a, B>
fn serialize_key_to<'a, B: Buffer>( &self, serializer: KeySerializer<'a, B>, ) -> Self::Output<'a, B>
Encodes key representation sequentially into serialization stream.
Source§fn deserialize_key_from(deserializer: &mut KeyDeserializer<'_>) -> Result<Self>
fn deserialize_key_from(deserializer: &mut KeyDeserializer<'_>) -> Result<Self>
Decodes serializations sequentially from underlying raw bytes.
impl StructuralPartialEq for AllocatorKeyV32
Source§impl TypeFingerprint for AllocatorKeyV32
impl TypeFingerprint for AllocatorKeyV32
fn fingerprint() -> String
Source§impl Versioned for AllocatorKeyV32
impl Versioned for AllocatorKeyV32
Source§fn max_serialized_size() -> Option<u64>
fn max_serialized_size() -> Option<u64>
Maximum size of a serialized version of this type. Serialization and deserialization will
fail if the limit is exceeded. If None, there is no limit. None is preferred over u64::MAX
because serializing and deserializing with a limit has runtime overhead.
fn deserialize_from<R>(reader: &mut R, _version: Version) -> Result<Self>
fn serialize_into<W>(&self, writer: &mut W) -> Result<()>
Source§impl VersionedLatest for AllocatorKeyV32
impl VersionedLatest for AllocatorKeyV32
Source§fn deserialize_from_version<R>(reader: &mut R, version: Version) -> Result<Self>
fn deserialize_from_version<R>(reader: &mut R, version: Version) -> Result<Self>
Deserializes from a given version format and upgrades to the latest version.
Auto Trait Implementations§
impl Freeze for AllocatorKeyV32
impl RefUnwindSafe for AllocatorKeyV32
impl Send for AllocatorKeyV32
impl Sync for AllocatorKeyV32
impl Unpin for AllocatorKeyV32
impl UnsafeUnpin for AllocatorKeyV32
impl UnwindSafe for AllocatorKeyV32
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§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<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.§impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
fn fidl_into_native(self) -> Box<N>
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 more