pub struct PartialElement<'a, M, T, O>where
    M: Mutability,
    T: 'a + BitStore,
    O: BitOrder,
{ /* private fields */ }
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

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

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
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.