pub struct PartialElement<'a, M, T, O> where
    M: Mutability,
    T: 'a + BitStore,
    O: BitOrder
{ /* fields omitted */ }
Expand description

Partially-Owned Memory Element

This type is a guarded reference to memory that permits interacting with it as an integer, but only allows views to the section of the integer that the producing handle has permission to observe. Unlike the BitSafe type family in the access module, it is not a transparent wrapper that can be used for reference conversion; it is a “heavy reference” that carries the mask and

Type Parameters

  • T: The type, including register width and alias information, of the bit-slice handle that created it.
  • O: This propagates the bit-ordering type used by the BitSlice handle that created it.

Lifetime

This carries the lifetime of the bit-slice handle that created it.

Usage

This structure is only created as part of the Domain region descriptions, and refers to partially-occupied edge elements. The underlying referent memory can be read with .load_value() or written with .store_value(), and the appropriate masking will be applied in order to restrict access to only the permitted bits.

Implementations

Fetches the value stored through self and masks away extra bits.

Returns

A bit-map containing any bits set to 1 in the governed bits. All other bits are cleared to 0.

Gets the starting index of the live bits in the element.

Gets the ending index of the live bits in the element.

Gets the semantic head and tail indices that constrain which bits of the referent element may be accessed.

Gets the bit-mask over all accessible bits.

Converts the partial element into a bit-slice over its governed bits.

Stores a value through self after masking away extra bits.

Parameters
  • &mut self
  • value: A bit-map which will be written into the governed bits. This is a bit-map store, not an integer store; the value will not be shifted into position and will only be masked directly against the bits that this partial-element governs.
Returns

The previous value of the governed bits.

Inverts the value of each bit governed by the partial-element.

Returns

The previous value of the governed bits.

Clears all bits governed by the partial-element to 0.

Returns

The previous value of the governed bits.

Sets all bits governed by the partial-element to 1.

Returns

The previous value of the governed bits.

Performs a store operation on a partial-element whose bits might be observed by another handle.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Converts self into T using Into<T>. Read more

Causes self to use its Binary implementation when Debug-formatted. Read more

Causes self to use its Display implementation when Debug-formatted. Read more

Causes self to use its LowerExp implementation when Debug-formatted. Read more

Causes self to use its LowerHex implementation when Debug-formatted. Read more

Causes self to use its Octal implementation when Debug-formatted. Read more

Causes self to use its Pointer implementation when Debug-formatted. Read more

Causes self to use its UpperExp implementation when Debug-formatted. Read more

Causes self to use its UpperHex implementation when Debug-formatted. Read more

Formats each item in a sequence. Read more

Performs the conversion.

Performs the conversion.

Pipes by value. This is generally the method you want to use. Read more

Borrows self and passes that borrow into the pipe function. Read more

Mutably borrows self and passes that borrow into the pipe function. Read more

Borrows self, then passes self.borrow() into the pipe function. Read more

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more

Borrows self, then passes self.as_ref() into the pipe function.

Mutably borrows self, then passes self.as_mut() into the pipe function. Read more

Borrows self, then passes self.deref() into the pipe function.

Mutably borrows self, then passes self.deref_mut() into the pipe function. Read more

Immutable access to a value. Read more

Mutable access to a value. Read more

Immutable access to the Borrow<B> of a value. Read more

Mutable access to the BorrowMut<B> of a value. Read more

Immutable access to the AsRef<R> view of a value. Read more

Mutable access to the AsMut<R> view of a value. Read more

Immutable access to the Deref::Target of a value. Read more

Mutable access to the Deref::Target of a value. Read more

Calls .tap() only in debug builds, and is erased in release builds.

Calls .tap_mut() only in debug builds, and is erased in release builds. Read more

Calls .tap_borrow() only in debug builds, and is erased in release builds. Read more

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds. Read more

Calls .tap_ref() only in debug builds, and is erased in release builds. Read more

Calls .tap_ref_mut() only in debug builds, and is erased in release builds. Read more

Calls .tap_deref() only in debug builds, and is erased in release builds. Read more

Calls .tap_deref_mut() only in debug builds, and is erased in release builds. Read more

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

Attempts to convert self into T using TryInto<T>. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.