ArrayInSHM

Struct ArrayInSHM 

Source
pub struct ArrayInSHM<ID, Elem, ElemIndex>
where Standard: Distribution<ID>, ID: SegmentID,
{ /* private fields */ }
Expand description

An SHM segment that is intended to be an array of elements of some certain type

Implementations§

Source§

impl<ID, Elem, ElemIndex> ArrayInSHM<ID, Elem, ElemIndex>
where Standard: Distribution<ID>, ID: SegmentID, ElemIndex: Unsigned + PrimInt + 'static + AsPrimitive<usize>, Elem: IStable<ContainsIndirections = B0>, isize: AsPrimitive<ElemIndex>,

Source

pub fn create(elem_count: NonZeroUsize) -> ZResult<Self>

Source

pub fn open(id: ID) -> ZResult<Self>

Source

pub fn id(&self) -> ID

Source

pub fn elem_count(&self) -> NonZeroUsize

Source

pub unsafe fn elem(&self, index: ElemIndex) -> *const Elem

§Safety

Retrieves const element by it’s index. This is safe if the index doesn’t go out of underlying array. Additional assert to check the index validity is added for “test” feature

Source

pub unsafe fn elem_mut(&self, index: ElemIndex) -> *mut Elem

§Safety

Retrieves mut element by it’s index. This is safe if the index doesn’t go out of underlying array. Additional assert to check the index validity is added for “test” feature

Source

pub unsafe fn index(&self, elem: *const Elem) -> ElemIndex

§Safety

Calculates element’s index. This is safe if the element belongs to underlying array. Additional assert is added for “test” feature

Trait Implementations§

Source§

impl<ID, Elem: Debug, ElemIndex: Debug> Debug for ArrayInSHM<ID, Elem, ElemIndex>
where Standard: Distribution<ID>, ID: SegmentID + Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<ID, Elem: Send, ElemIndex> Send for ArrayInSHM<ID, Elem, ElemIndex>
where Standard: Distribution<ID>, ID: SegmentID,

Source§

impl<ID, Elem: Sync, ElemIndex> Sync for ArrayInSHM<ID, Elem, ElemIndex>
where Standard: Distribution<ID>, ID: SegmentID,

Auto Trait Implementations§

§

impl<ID, Elem, ElemIndex> Freeze for ArrayInSHM<ID, Elem, ElemIndex>
where ID: Freeze,

§

impl<ID, Elem, ElemIndex> RefUnwindSafe for ArrayInSHM<ID, Elem, ElemIndex>
where Elem: RefUnwindSafe, ElemIndex: RefUnwindSafe, ID: RefUnwindSafe,

§

impl<ID, Elem, ElemIndex> Unpin for ArrayInSHM<ID, Elem, ElemIndex>
where Elem: Unpin, ElemIndex: Unpin, ID: Unpin,

§

impl<ID, Elem, ElemIndex> UnwindSafe for ArrayInSHM<ID, Elem, ElemIndex>
where Elem: UnwindSafe, ElemIndex: UnwindSafe, ID: UnwindSafe,

Blanket Implementations§

Source§

impl<Source> AccessAs for Source

Source§

fn ref_as<T>(&self) -> <Source as IGuardRef<T>>::Guard<'_>
where Source: IGuardRef<T>, T: ?Sized,

Provides immutable access to a type as if it were its ABI-unstable equivalent.
Source§

fn mut_as<T>(&mut self) -> <Source as IGuardMut<T>>::GuardMut<'_>
where Source: IGuardMut<T>, T: ?Sized,

Provides mutable access to a type as if it were its ABI-unstable equivalent.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, As> IGuardMut<As> for T
where T: Into<As>, As: Into<T>,

Source§

type GuardMut<'a> = MutAs<'a, T, As> where T: 'a

The type of the guard which will clean up the temporary after applying its changes to the original.
Source§

fn guard_mut_inner(&mut self) -> <T as IGuardMut<As>>::GuardMut<'_>

Construct the temporary and guard it through a mutable reference.
Source§

impl<T, As> IGuardRef<As> for T
where T: Into<As>, As: Into<T>,

Source§

type Guard<'a> = RefAs<'a, T, As> where T: 'a

The type of the guard which will clean up the temporary.
Source§

fn guard_ref_inner(&self) -> <T as IGuardRef<As>>::Guard<'_>

Construct the temporary and guard it through an immutable reference.
Source§

impl<T> Includes<End> for T

Source§

type Output = End

The result
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more