pub struct ManagerRef<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize>(/* private fields */);Implementations§
Source§impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
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>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> Clone for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> Clone for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
Source§impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> Drop for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> Drop for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
Source§impl<'a, 'id, NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> From<&'a Manager<'id, <NC as InnerNodeCons<ET>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, TERMINALS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, TERMINALS>>::T<'id>, TERMINALS>> for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<'a, 'id, NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> From<&'a Manager<'id, <NC as InnerNodeCons<ET>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, TERMINALS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, TERMINALS>>::T<'id>, TERMINALS>> for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
Source§fn from(
manager: &'a Manager<'id, <NC as InnerNodeCons<ET>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, TERMINALS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, TERMINALS>>::T<'id>, TERMINALS>,
) -> Self
fn from( manager: &'a Manager<'id, <NC as InnerNodeCons<ET>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, TERMINALS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, TERMINALS>>::T<'id>, TERMINALS>, ) -> Self
Converts to this type from the input type.
Source§impl<NC: InnerNodeCons<ET>, ET: Tag + Send + Sync, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> HasWorkers for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag + Send + Sync, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> HasWorkers for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
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>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> Hash for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> Hash for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
Source§impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> ManagerRef for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> ManagerRef for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
Source§type Manager<'id> = Manager<'id, <NC as InnerNodeCons<ET>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, TERMINALS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, TERMINALS>>::T<'id>, TERMINALS>
type Manager<'id> = Manager<'id, <NC as InnerNodeCons<ET>>::T<'id>, ET, <TMC as TerminalManagerCons<NC, ET, TERMINALS>>::T<'id>, <RC as DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>>::T<'id>, <MDC as ManagerDataCons<NC, ET, TMC, RC, TERMINALS>>::T<'id>, TERMINALS>
Type of the associated manager Read more
Obtain a shared manager reference Read more
Source§impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> Ord for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> Ord for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
Source§impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> PartialEq for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> PartialEq for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
Source§impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> PartialOrd for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> PartialOrd for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC: InnerNodeCons<ET>, ET: Tag, TMC: TerminalManagerCons<NC, ET, TERMINALS>, RC: DiagramRulesCons<NC, ET, TMC, MDC, TERMINALS>, MDC: ManagerDataCons<NC, ET, TMC, RC, TERMINALS>, const TERMINALS: usize> Eq for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
Auto Trait Implementations§
impl<NC, ET, TMC, RC, MDC, const TERMINALS: usize> Freeze for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC, ET, TMC, RC, MDC, const TERMINALS: usize> !RefUnwindSafe for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC, ET, TMC, RC, MDC, const TERMINALS: usize> Send for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC, ET, TMC, RC, MDC, const TERMINALS: usize> Sync for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC, ET, TMC, RC, MDC, const TERMINALS: usize> Unpin for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
impl<NC, ET, TMC, RC, MDC, const TERMINALS: usize> !UnwindSafe for ManagerRef<NC, ET, TMC, RC, MDC, TERMINALS>
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