Struct oxidd_rules_bdd::complement_edge::BCDDFunction
source · pub struct BCDDFunction<F: Function>(/* private fields */);Expand description
Boolean function backed by a complement edge binary decision diagram
Implementations§
source§impl<F: Function> BCDDFunction<F>
impl<F: Function> BCDDFunction<F>
sourcepub fn into_inner(self) -> F
pub fn into_inner(self) -> F
Convert self into the underlying Function
Trait Implementations§
source§impl<F: Function> BooleanFunction for BCDDFunction<F>
impl<F: Function> BooleanFunction for BCDDFunction<F>
source§fn new_var<'id>(manager: &mut Self::Manager<'id>) -> AllocResult<Self>
fn new_var<'id>(manager: &mut Self::Manager<'id>) -> AllocResult<Self>
Get a fresh variable, i.e., a function that is true if and only if the
variable is true. This adds a new level to a decision diagram.
source§fn f_edge<'id>(manager: &Self::Manager<'id>) -> EdgeOfFunc<'id, Self>
fn f_edge<'id>(manager: &Self::Manager<'id>) -> EdgeOfFunc<'id, Self>
Get the always false function
⊥ as edgesource§fn t_edge<'id>(manager: &Self::Manager<'id>) -> EdgeOfFunc<'id, Self>
fn t_edge<'id>(manager: &Self::Manager<'id>) -> EdgeOfFunc<'id, Self>
Get the always true function
⊤ as edgesource§fn not_edge<'id>(
manager: &Self::Manager<'id>,
edge: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn not_edge<'id>( manager: &Self::Manager<'id>, edge: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the negation
¬edge, edge versionsource§fn not_edge_owned<'id>(
_manager: &Self::Manager<'id>,
edge: EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn not_edge_owned<'id>( _manager: &Self::Manager<'id>, edge: EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the negation
¬edge, owned edge version Read moresource§fn and_edge<'id>(
manager: &Self::Manager<'id>,
lhs: &EdgeOfFunc<'id, Self>,
rhs: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn and_edge<'id>( manager: &Self::Manager<'id>, lhs: &EdgeOfFunc<'id, Self>, rhs: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the conjunction
lhs ∧ rhs, edge versionsource§fn or_edge<'id>(
manager: &Self::Manager<'id>,
lhs: &EdgeOfFunc<'id, Self>,
rhs: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn or_edge<'id>( manager: &Self::Manager<'id>, lhs: &EdgeOfFunc<'id, Self>, rhs: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the disjunction
lhs ∨ rhs, edge versionsource§fn nand_edge<'id>(
manager: &Self::Manager<'id>,
lhs: &EdgeOfFunc<'id, Self>,
rhs: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn nand_edge<'id>( manager: &Self::Manager<'id>, lhs: &EdgeOfFunc<'id, Self>, rhs: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the negated conjunction
lhs ⊼ rhs, edge versionsource§fn nor_edge<'id>(
manager: &Self::Manager<'id>,
lhs: &EdgeOfFunc<'id, Self>,
rhs: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn nor_edge<'id>( manager: &Self::Manager<'id>, lhs: &EdgeOfFunc<'id, Self>, rhs: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the negated disjunction
lhs ⊽ rhs, edge versionsource§fn xor_edge<'id>(
manager: &Self::Manager<'id>,
lhs: &EdgeOfFunc<'id, Self>,
rhs: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn xor_edge<'id>( manager: &Self::Manager<'id>, lhs: &EdgeOfFunc<'id, Self>, rhs: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the exclusive disjunction
lhs ⊕ rhs, edge versionsource§fn equiv_edge<'id>(
manager: &Self::Manager<'id>,
lhs: &EdgeOfFunc<'id, Self>,
rhs: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn equiv_edge<'id>( manager: &Self::Manager<'id>, lhs: &EdgeOfFunc<'id, Self>, rhs: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the equivalence
lhs ↔ rhs, edge versionsource§fn imp_edge<'id>(
manager: &Self::Manager<'id>,
lhs: &EdgeOfFunc<'id, Self>,
rhs: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn imp_edge<'id>( manager: &Self::Manager<'id>, lhs: &EdgeOfFunc<'id, Self>, rhs: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the implication
lhs → rhs, edge versionsource§fn imp_strict_edge<'id>(
manager: &Self::Manager<'id>,
lhs: &EdgeOfFunc<'id, Self>,
rhs: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn imp_strict_edge<'id>( manager: &Self::Manager<'id>, lhs: &EdgeOfFunc<'id, Self>, rhs: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute the strict implication
lhs < rhs, edge versionsource§fn ite_edge<'id>(
manager: &Self::Manager<'id>,
if_edge: &EdgeOfFunc<'id, Self>,
then_edge: &EdgeOfFunc<'id, Self>,
else_edge: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn ite_edge<'id>( manager: &Self::Manager<'id>, if_edge: &EdgeOfFunc<'id, Self>, then_edge: &EdgeOfFunc<'id, Self>, else_edge: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Compute
if if_edge { then_edge } else { else_edge } (edge version) Read moresource§fn sat_count_edge<'id, N: SatCountNumber, S: BuildHasher>(
manager: &Self::Manager<'id>,
edge: &EdgeOfFunc<'id, Self>,
vars: LevelNo,
cache: &mut SatCountCache<N, S>,
) -> N
fn sat_count_edge<'id, N: SatCountNumber, S: BuildHasher>( manager: &Self::Manager<'id>, edge: &EdgeOfFunc<'id, Self>, vars: LevelNo, cache: &mut SatCountCache<N, S>, ) -> N
Edge version of Self::sat_count()source§fn pick_cube_edge<'id, 'a, I>(
manager: &'a Self::Manager<'id>,
edge: &'a EdgeOfFunc<'id, Self>,
order: impl IntoIterator<IntoIter = I>,
choice: impl FnMut(&Self::Manager<'id>, &EdgeOfFunc<'id, Self>) -> bool,
) -> Option<Vec<OptBool>>where
I: ExactSizeIterator<Item = &'a EdgeOfFunc<'id, Self>>,
fn pick_cube_edge<'id, 'a, I>(
manager: &'a Self::Manager<'id>,
edge: &'a EdgeOfFunc<'id, Self>,
order: impl IntoIterator<IntoIter = I>,
choice: impl FnMut(&Self::Manager<'id>, &EdgeOfFunc<'id, Self>) -> bool,
) -> Option<Vec<OptBool>>where
I: ExactSizeIterator<Item = &'a EdgeOfFunc<'id, Self>>,
Edge version of Self::pick_cube()source§fn eval_edge<'id, 'a>(
manager: &'a Self::Manager<'id>,
edge: &'a EdgeOfFunc<'id, Self>,
args: impl IntoIterator<Item = (Borrowed<'a, EdgeOfFunc<'id, Self>>, bool)>,
) -> bool
fn eval_edge<'id, 'a>( manager: &'a Self::Manager<'id>, edge: &'a EdgeOfFunc<'id, Self>, args: impl IntoIterator<Item = (Borrowed<'a, EdgeOfFunc<'id, Self>>, bool)>, ) -> bool
Edge version of Self::eval()source§fn cofactors(&self) -> Option<(Self, Self)>
fn cofactors(&self) -> Option<(Self, Self)>
source§fn cofactor_true(&self) -> Option<Self>
fn cofactor_true(&self) -> Option<Self>
source§fn cofactor_false(&self) -> Option<Self>
fn cofactor_false(&self) -> Option<Self>
source§fn not_owned(self) -> Result<Self, OutOfMemory>
fn not_owned(self) -> Result<Self, OutOfMemory>
Compute the negation
¬self, owned version Read moresource§fn and(&self, rhs: &Self) -> Result<Self, OutOfMemory>
fn and(&self, rhs: &Self) -> Result<Self, OutOfMemory>
Compute the conjunction
self ∧ rhs Read moresource§fn or(&self, rhs: &Self) -> Result<Self, OutOfMemory>
fn or(&self, rhs: &Self) -> Result<Self, OutOfMemory>
Compute the disjunction
self ∨ rhs Read moresource§fn nand(&self, rhs: &Self) -> Result<Self, OutOfMemory>
fn nand(&self, rhs: &Self) -> Result<Self, OutOfMemory>
Compute the negated conjunction
self ⊼ rhs Read moresource§fn nor(&self, rhs: &Self) -> Result<Self, OutOfMemory>
fn nor(&self, rhs: &Self) -> Result<Self, OutOfMemory>
Compute the negated disjunction
self ⊽ rhs Read moresource§fn xor(&self, rhs: &Self) -> Result<Self, OutOfMemory>
fn xor(&self, rhs: &Self) -> Result<Self, OutOfMemory>
Compute the exclusive disjunction
self ⊕ rhs Read moresource§fn equiv(&self, rhs: &Self) -> Result<Self, OutOfMemory>
fn equiv(&self, rhs: &Self) -> Result<Self, OutOfMemory>
Compute the equivalence
self ↔ rhs Read moresource§fn imp_strict(&self, rhs: &Self) -> Result<Self, OutOfMemory>
fn imp_strict(&self, rhs: &Self) -> Result<Self, OutOfMemory>
Compute the strict implication
self < rhs Read moresource§fn cofactors_edge<'a, 'id>(
manager: &'a Self::Manager<'id>,
f: &'a <Self::Manager<'id> as Manager>::Edge,
) -> Option<(Borrowed<'a, <Self::Manager<'id> as Manager>::Edge>, Borrowed<'a, <Self::Manager<'id> as Manager>::Edge>)>
fn cofactors_edge<'a, 'id>( manager: &'a Self::Manager<'id>, f: &'a <Self::Manager<'id> as Manager>::Edge, ) -> Option<(Borrowed<'a, <Self::Manager<'id> as Manager>::Edge>, Borrowed<'a, <Self::Manager<'id> as Manager>::Edge>)>
source§fn cofactors_node<'a, 'id>(
tag: <Self::Manager<'id> as Manager>::EdgeTag,
node: &'a <Self::Manager<'id> as Manager>::InnerNode,
) -> (Borrowed<'a, <Self::Manager<'id> as Manager>::Edge>, Borrowed<'a, <Self::Manager<'id> as Manager>::Edge>)
fn cofactors_node<'a, 'id>( tag: <Self::Manager<'id> as Manager>::EdgeTag, node: &'a <Self::Manager<'id> as Manager>::InnerNode, ) -> (Borrowed<'a, <Self::Manager<'id> as Manager>::Edge>, Borrowed<'a, <Self::Manager<'id> as Manager>::Edge>)
source§fn satisfiable(&self) -> bool
fn satisfiable(&self) -> bool
source§fn ite(&self, then_case: &Self, else_case: &Self) -> Result<Self, OutOfMemory>
fn ite(&self, then_case: &Self, else_case: &Self) -> Result<Self, OutOfMemory>
Compute
if self { then_case } else { else_case } Read moresource§fn sat_count<N, S>(&self, vars: u32, cache: &mut SatCountCache<N, S>) -> Nwhere
N: SatCountNumber,
S: BuildHasher,
fn sat_count<N, S>(&self, vars: u32, cache: &mut SatCountCache<N, S>) -> Nwhere
N: SatCountNumber,
S: BuildHasher,
Count the number of satisfying assignments, assuming
vars input
variables Read moresource§fn pick_cube<'a, I>(
&'a self,
order: impl IntoIterator<IntoIter = I>,
choice: impl for<'id> FnMut(&Self::Manager<'id>, &<Self::Manager<'id> as Manager>::Edge) -> bool,
) -> Option<Vec<OptBool>>where
I: ExactSizeIterator<Item = &'a Self>,
fn pick_cube<'a, I>(
&'a self,
order: impl IntoIterator<IntoIter = I>,
choice: impl for<'id> FnMut(&Self::Manager<'id>, &<Self::Manager<'id> as Manager>::Edge) -> bool,
) -> Option<Vec<OptBool>>where
I: ExactSizeIterator<Item = &'a Self>,
Pick a cube of this function Read more
source§fn pick_cube_uniform<'a, I, S>(
&'a self,
order: impl IntoIterator<IntoIter = I>,
cache: &mut SatCountCache<F64, S>,
rng: &mut WyRand,
) -> Option<Vec<OptBool>>
fn pick_cube_uniform<'a, I, S>( &'a self, order: impl IntoIterator<IntoIter = I>, cache: &mut SatCountCache<F64, S>, rng: &mut WyRand, ) -> Option<Vec<OptBool>>
Pick a random cube of this function, where each cube has the same
probability of being chosen Read more
source§fn pick_cube_uniform_edge<'id, 'a, I, S>(
manager: &'a Self::Manager<'id>,
edge: &'a <Self::Manager<'id> as Manager>::Edge,
order: impl IntoIterator<IntoIter = I>,
cache: &mut SatCountCache<F64, S>,
rng: &mut WyRand,
) -> Option<Vec<OptBool>>
fn pick_cube_uniform_edge<'id, 'a, I, S>( manager: &'a Self::Manager<'id>, edge: &'a <Self::Manager<'id> as Manager>::Edge, order: impl IntoIterator<IntoIter = I>, cache: &mut SatCountCache<F64, S>, rng: &mut WyRand, ) -> Option<Vec<OptBool>>
Edge version of Self::pick_cube_uniform()source§impl<F: Function> BooleanFunctionQuant for BCDDFunction<F>
impl<F: Function> BooleanFunctionQuant for BCDDFunction<F>
source§fn restrict_edge<'id>(
manager: &Self::Manager<'id>,
root: &EdgeOfFunc<'id, Self>,
vars: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn restrict_edge<'id>( manager: &Self::Manager<'id>, root: &EdgeOfFunc<'id, Self>, vars: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Restrict a set of
vars to constant values, edge version Read moresource§fn forall_edge<'id>(
manager: &Self::Manager<'id>,
root: &EdgeOfFunc<'id, Self>,
vars: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn forall_edge<'id>( manager: &Self::Manager<'id>, root: &EdgeOfFunc<'id, Self>, vars: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
source§fn exist_edge<'id>(
manager: &Self::Manager<'id>,
root: &EdgeOfFunc<'id, Self>,
vars: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn exist_edge<'id>( manager: &Self::Manager<'id>, root: &EdgeOfFunc<'id, Self>, vars: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
source§fn unique_edge<'id>(
manager: &Self::Manager<'id>,
root: &EdgeOfFunc<'id, Self>,
vars: &EdgeOfFunc<'id, Self>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn unique_edge<'id>( manager: &Self::Manager<'id>, root: &EdgeOfFunc<'id, Self>, vars: &EdgeOfFunc<'id, Self>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
source§fn restrict(&self, vars: &Self) -> Result<Self, OutOfMemory>
fn restrict(&self, vars: &Self) -> Result<Self, OutOfMemory>
Restrict a set of
vars to constant values Read moresource§fn forall(&self, vars: &Self) -> Result<Self, OutOfMemory>
fn forall(&self, vars: &Self) -> Result<Self, OutOfMemory>
Compute the universal quantification over
vars Read moresource§impl<F: Clone + Function> Clone for BCDDFunction<F>
impl<F: Clone + Function> Clone for BCDDFunction<F>
source§fn clone(&self) -> BCDDFunction<F>
fn clone(&self) -> BCDDFunction<F>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl<F: Function> From<F> for BCDDFunction<F>
impl<F: Function> From<F> for BCDDFunction<F>
source§impl<F: Function> Function for BCDDFunction<F>
impl<F: Function> Function for BCDDFunction<F>
§type ManagerRef = <F as Function>::ManagerRef
type ManagerRef = <F as Function>::ManagerRef
source§fn from_edge<'__id>(
manager: &Self::Manager<'__id>,
edge: <Self::Manager<'__id> as Manager>::Edge,
) -> Self
fn from_edge<'__id>( manager: &Self::Manager<'__id>, edge: <Self::Manager<'__id> as Manager>::Edge, ) -> Self
Create a new function from a manager reference and an edge
source§fn as_edge<'__id>(
&self,
manager: &Self::Manager<'__id>,
) -> &<Self::Manager<'__id> as Manager>::Edge
fn as_edge<'__id>( &self, manager: &Self::Manager<'__id>, ) -> &<Self::Manager<'__id> as Manager>::Edge
Converts this function into the underlying edge (as reference), checking
that it belongs to the given
manager Read moresource§fn into_edge<'__id>(
self,
manager: &Self::Manager<'__id>,
) -> <Self::Manager<'__id> as Manager>::Edge
fn into_edge<'__id>( self, manager: &Self::Manager<'__id>, ) -> <Self::Manager<'__id> as Manager>::Edge
Converts this function into the underlying edge, checking that it
belongs to the given
manager Read moresource§fn manager_ref(&self) -> <F as Function>::ManagerRef
fn manager_ref(&self) -> <F as Function>::ManagerRef
Clone the
ManagerRef partObtain a shared manager reference as well as the underlying edge Read more
source§fn with_manager_exclusive<__F, __T>(&self, f: __F) -> __T
fn with_manager_exclusive<__F, __T>(&self, f: __F) -> __T
Obtain an exclusive manager reference as well as the underlying edge Read more
source§fn from_edge_ref<'id>(
manager: &Self::Manager<'id>,
edge: &<Self::Manager<'id> as Manager>::Edge,
) -> Self
fn from_edge_ref<'id>( manager: &Self::Manager<'id>, edge: &<Self::Manager<'id> as Manager>::Edge, ) -> Self
Create a new function from a manager reference and an edge reference
source§fn node_count(&self) -> usize
fn node_count(&self) -> usize
Count the number of nodes in this function, including terminal nodes Read more
source§impl<F: Function> FunctionSubst for BCDDFunction<F>
impl<F: Function> FunctionSubst for BCDDFunction<F>
source§fn substitute_edge<'id, 'a>(
manager: &'a Self::Manager<'id>,
edge: &'a EdgeOfFunc<'id, Self>,
substitution: impl Substitution<Var = Borrowed<'a, EdgeOfFunc<'id, Self>>, Replacement = Borrowed<'a, EdgeOfFunc<'id, Self>>>,
) -> AllocResult<EdgeOfFunc<'id, Self>>
fn substitute_edge<'id, 'a>( manager: &'a Self::Manager<'id>, edge: &'a EdgeOfFunc<'id, Self>, substitution: impl Substitution<Var = Borrowed<'a, EdgeOfFunc<'id, Self>>, Replacement = Borrowed<'a, EdgeOfFunc<'id, Self>>>, ) -> AllocResult<EdgeOfFunc<'id, Self>>
Edge version of Self::substitute()source§fn substitute<'a>(
&'a self,
substitution: impl Substitution<Var = &'a Self, Replacement = &'a Self>,
) -> Result<Self, OutOfMemory>
fn substitute<'a>( &'a self, substitution: impl Substitution<Var = &'a Self, Replacement = &'a Self>, ) -> Result<Self, OutOfMemory>
source§impl<F: Ord + Function> Ord for BCDDFunction<F>
impl<F: Ord + Function> Ord for BCDDFunction<F>
source§fn cmp(&self, other: &BCDDFunction<F>) -> Ordering
fn cmp(&self, other: &BCDDFunction<F>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<F: PartialEq + Function> PartialEq for BCDDFunction<F>
impl<F: PartialEq + Function> PartialEq for BCDDFunction<F>
source§fn eq(&self, other: &BCDDFunction<F>) -> bool
fn eq(&self, other: &BCDDFunction<F>) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl<F: PartialOrd + Function> PartialOrd for BCDDFunction<F>
impl<F: PartialOrd + Function> PartialOrd for BCDDFunction<F>
source§fn partial_cmp(&self, other: &BCDDFunction<F>) -> Option<Ordering>
fn partial_cmp(&self, other: &BCDDFunction<F>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self and other) and is used by the <=
operator. Read moreimpl<F: Eq + Function> Eq for BCDDFunction<F>
impl<F: Function> StructuralPartialEq for BCDDFunction<F>
Auto Trait Implementations§
impl<F> Freeze for BCDDFunction<F>where
F: Freeze,
impl<F> RefUnwindSafe for BCDDFunction<F>where
F: RefUnwindSafe,
impl<F> Send for BCDDFunction<F>where
F: Send,
impl<F> Sync for BCDDFunction<F>where
F: Sync,
impl<F> Unpin for BCDDFunction<F>where
F: Unpin,
impl<F> UnwindSafe for BCDDFunction<F>where
F: UnwindSafe,
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> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.