pub struct ManagerRef<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32>(/* private fields */);Implementations§
Source§impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
Sourcepub fn into_raw(self) -> *const c_void
pub fn into_raw(self) -> *const c_void
Convert self into a raw pointer, e.g. for usage in a foreign function
interface.
This method does not change any reference counters. To avoid a memory
leak, use Self::from_raw() to convert the pointer back into a
ManagerRef.
Sourcepub unsafe fn from_raw(raw: *const c_void) -> Self
pub unsafe fn from_raw(raw: *const c_void) -> Self
Convert raw into a ManagerRef
§Safety
raw must have been obtained via Self::into_raw(). This function
does not change any reference counters, so calling this function
multiple times for the same pointer may lead to use after free bugs
depending on the usage of the returned ManagerRef.
Trait Implementations§
Source§impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> Clone for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> Clone for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
Source§impl<'a, 'id, NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> From<&'a Manager<'id, <NC as InnerNodeCons<ET, TAG_BITS>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>>::T<'id>, PAGE_SIZE, TAG_BITS>> for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<'a, 'id, NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> From<&'a Manager<'id, <NC as InnerNodeCons<ET, TAG_BITS>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>>::T<'id>, PAGE_SIZE, TAG_BITS>> for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
Source§fn from(
manager: &'a Manager<'id, <NC as InnerNodeCons<ET, TAG_BITS>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>>::T<'id>, PAGE_SIZE, TAG_BITS>,
) -> Self
fn from( manager: &'a Manager<'id, <NC as InnerNodeCons<ET, TAG_BITS>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>>::T<'id>, PAGE_SIZE, TAG_BITS>, ) -> Self
Converts to this type from the input type.
Source§impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag + Sync + Send, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> HasWorkers for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag + Sync + Send, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> HasWorkers for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
Source§type WorkerPool = Workers
type WorkerPool = Workers
Type of the worker pool
Source§fn workers(&self) -> &Self::WorkerPool
fn workers(&self) -> &Self::WorkerPool
Get the worker pool
Source§impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> Hash for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> Hash for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
Source§impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> ManagerRef for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> ManagerRef for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
Source§type Manager<'id> = Manager<'id, <NC as InnerNodeCons<ET, TAG_BITS>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>>::T<'id>, PAGE_SIZE, TAG_BITS>
type Manager<'id> = Manager<'id, <NC as InnerNodeCons<ET, TAG_BITS>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>>::T<'id>, PAGE_SIZE, TAG_BITS>
Type of the associated manager Read more
Obtain a shared manager reference Read more
Source§impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> Ord for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> Ord for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
Source§impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> PartialEq for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> PartialEq for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
Source§impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> PartialOrd for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> PartialOrd for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC: InnerNodeCons<ET, TAG_BITS>, ET: Tag, TMC: TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, PAGE_SIZE, TAG_BITS>, MDC: ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>, const PAGE_SIZE: usize, const TAG_BITS: u32> Eq for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
Auto Trait Implementations§
impl<NC, ET, TMC, RC, MDC, const PAGE_SIZE: usize, const TAG_BITS: u32> Freeze for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC, ET, TMC, RC, MDC, const PAGE_SIZE: usize, const TAG_BITS: u32> !RefUnwindSafe for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC, ET, TMC, RC, MDC, const PAGE_SIZE: usize, const TAG_BITS: u32> Send for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>where
<NC as InnerNodeCons<ET, TAG_BITS>>::T<'static>: Send + Sync,
<TMC as TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>>::T<'static>: Send + Sync,
ET: Send + Sync,
<MDC as ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>>::T<'static>: Send + Sync,
impl<NC, ET, TMC, RC, MDC, const PAGE_SIZE: usize, const TAG_BITS: u32> Sync for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>where
<NC as InnerNodeCons<ET, TAG_BITS>>::T<'static>: Send + Sync,
<TMC as TerminalManagerCons<NC, ET, RC, MDC, PAGE_SIZE, TAG_BITS>>::T<'static>: Send + Sync,
ET: Send + Sync,
<MDC as ManagerDataCons<NC, ET, TMC, RC, PAGE_SIZE, TAG_BITS>>::T<'static>: Send + Sync,
impl<NC, ET, TMC, RC, MDC, const PAGE_SIZE: usize, const TAG_BITS: u32> Unpin for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
impl<NC, ET, TMC, RC, MDC, const PAGE_SIZE: usize, const TAG_BITS: u32> !UnwindSafe for ManagerRef<NC, ET, TMC, RC, MDC, PAGE_SIZE, TAG_BITS>
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,
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