pub struct BusinessProcessModelAndNotation {
pub activity_key: ActivityKey,
pub collaboration_index: Option<(usize, ())>,
pub collaboration_id: Option<String>,
pub definitions_index: (usize, ()),
pub definitions_id: String,
pub elements: Vec<BPMNElement>,
pub message_flows: Vec<BPMNMessageFlow>,
/* private fields */
}Expand description
A struct with a Business Process Model and Notation (BPMN) model.
Example:
use std::io::prelude::*;
use std::io::BufReader;
use std::fs::File;
use ebi_bpmn::BusinessProcessModelAndNotation;
fn main() -> anyhow::Result<()> {
let f = File::open("testfiles/model.bpmn")?;
let mut reader = BufReader::new(f);
let bpmn = BusinessProcessModelAndNotation::import_from_reader(&mut reader, true)?;
let mut marking = bpmn.get_initial_marking()?.unwrap();
assert_eq!(bpmn.get_enabled_transitions(&marking)?, vec![0]);
bpmn.execute_transition(&mut marking, 0)?;
Ok(())
}To create a BPMN model programmatically, please consider using a BPMNCreator.
Fields§
§activity_key: ActivityKey§collaboration_index: Option<(usize, ())>§collaboration_id: Option<String>§definitions_index: (usize, ())§definitions_id: String§elements: Vec<BPMNElement>§message_flows: Vec<BPMNMessageFlow>Implementations§
Source§impl BusinessProcessModelAndNotation
impl BusinessProcessModelAndNotation
Sourcepub fn number_of_elements(&self) -> usize
pub fn number_of_elements(&self) -> usize
Returns the number of elements in the BPMN model (recurses).
Sourcepub fn number_of_message_flows(&self) -> usize
pub fn number_of_message_flows(&self) -> usize
Returns the number of message flows in the BPMN model (does not recurse).
Sourcepub fn elements(&self) -> Vec<&BPMNElement>
pub fn elements(&self) -> Vec<&BPMNElement>
Returns all elements in the model (recurses).
Sourcepub fn parent_of(&self, global_index: (usize, ())) -> Option<&dyn Processable>
pub fn parent_of(&self, global_index: (usize, ())) -> Option<&dyn Processable>
Returns the parent of the element or flow with the given index (recursively).
Sourcepub fn sequence_flows(&self) -> Vec<&BPMNSequenceFlow>
pub fn sequence_flows(&self) -> Vec<&BPMNSequenceFlow>
Returns all sequence flows (recurses).
Sourcepub fn global_index_2_element(&self, index: (usize, ())) -> Option<&BPMNElement>
pub fn global_index_2_element(&self, index: (usize, ())) -> Option<&BPMNElement>
Find an element with the given index (recurses).
Sourcepub fn global_index_2_element_mut(
&mut self,
index: (usize, ()),
) -> Option<&mut BPMNElement>
pub fn global_index_2_element_mut( &mut self, index: (usize, ()), ) -> Option<&mut BPMNElement>
Find an element with the given index and returns a mutable reference to it (recurses).
Sourcepub fn message_flow_index_2_source(
&self,
message_flow_index: usize,
) -> Result<&BPMNElement, Error>
pub fn message_flow_index_2_source( &self, message_flow_index: usize, ) -> Result<&BPMNElement, Error>
Returns the element that is the source of the given message flow.
Sourcepub fn message_flow_index_2_target(
&self,
message_flow_index: usize,
) -> Result<&BPMNElement, Error>
pub fn message_flow_index_2_target( &self, message_flow_index: usize, ) -> Result<&BPMNElement, Error>
Returns the element that is the target of the given message flow.
Sourcepub fn global_index_2_message_flow(
&self,
message_flow_global_index: (usize, ()),
) -> Option<&BPMNMessageFlow>
pub fn global_index_2_message_flow( &self, message_flow_global_index: (usize, ()), ) -> Option<&BPMNMessageFlow>
Returns the sequence flow with the given global index.
Sourcepub fn global_index_2_sequence_flow_and_parent(
&self,
sequence_flow_global_index: (usize, ()),
) -> Option<(&BPMNSequenceFlow, &dyn Processable)>
pub fn global_index_2_sequence_flow_and_parent( &self, sequence_flow_global_index: (usize, ()), ) -> Option<(&BPMNSequenceFlow, &dyn Processable)>
Returns the sequence flow with the given global index.
Sourcepub fn global_index_2_sequence_flow_mut(
&mut self,
sequence_flow_global_index: (usize, ()),
) -> Option<&mut BPMNSequenceFlow>
pub fn global_index_2_sequence_flow_mut( &mut self, sequence_flow_global_index: (usize, ()), ) -> Option<&mut BPMNSequenceFlow>
Returns the sequence flow with this index, if it exists (recurses).
Source§impl BusinessProcessModelAndNotation
impl BusinessProcessModelAndNotation
Sourcepub fn import_from_reader(
reader: &mut dyn BufRead,
disallow_sequence_flow_weights: bool,
) -> Result<BusinessProcessModelAndNotation, Error>where
BusinessProcessModelAndNotation: Sized,
pub fn import_from_reader(
reader: &mut dyn BufRead,
disallow_sequence_flow_weights: bool,
) -> Result<BusinessProcessModelAndNotation, Error>where
BusinessProcessModelAndNotation: Sized,
Attempts to import a BPMN model. If disallow_sequence_flow_weights is set to true, parsing will fail if any sequence flow has a weight.
Will only succeed if the model is structurally correct.
Source§impl BusinessProcessModelAndNotation
impl BusinessProcessModelAndNotation
Sourcepub fn get_initial_marking(&self) -> Result<Option<BPMNMarking>, Error>
pub fn get_initial_marking(&self) -> Result<Option<BPMNMarking>, Error>
Returns the initial marking, as specified by the BPMN 2.0.2 standard on page 238. Additionally, if the model is empty, it does not support any trace, and this function returns Ok(None). If the model is structurally correct, this method will always return Ok(..). If not, will return Err() but will not panic.
Sourcepub fn execute_transition(
&self,
marking: &mut BPMNMarking,
transition_index: usize,
) -> Result<(), Error>
pub fn execute_transition( &self, marking: &mut BPMNMarking, transition_index: usize, ) -> Result<(), Error>
Updates the marking by executing the transition. By contract, will return Ok() if the model is structurally correct and the transition was enabled. May panic or return Err() otherwise.
Sourcepub fn is_final_marking(&self, marking: &BPMNMarking) -> Result<bool, Error>
pub fn is_final_marking(&self, marking: &BPMNMarking) -> Result<bool, Error>
Returns whether the marking is a final marking. That is, whether no transitions are enabled in it. If the model is structurally correct, this function will always return Ok(). If the model is not structurally correct, this function may return Err() but will not panic.
Sourcepub fn is_transition_silent(
&self,
transition_index: usize,
marking: &BPMNMarking,
) -> bool
pub fn is_transition_silent( &self, transition_index: usize, marking: &BPMNMarking, ) -> bool
Returns true if the transition exists and is unlabelled, otherwise, returns false.
Does not panic.
Sourcepub fn get_transition_activity(
&self,
transition_index: usize,
marking: &BPMNMarking,
) -> Option<Activity>
pub fn get_transition_activity( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<Activity>
If the transition exists and is labelled, returns the label. Otherwise, returns None.
Sourcepub fn get_enabled_transitions(
&self,
marking: &BPMNMarking,
) -> Result<Vec<usize>, Error>
pub fn get_enabled_transitions( &self, marking: &BPMNMarking, ) -> Result<Vec<usize>, Error>
Returns the transitions that are enabled in the given marking.
By contract, will return Ok() if the model is structurally correct. Otherwise, it will return Err() but will not panic.
Sourcepub fn number_of_transitions(&self, marking: &BPMNMarking) -> usize
pub fn number_of_transitions(&self, marking: &BPMNMarking) -> usize
Returns the number of transitions of the current marking. Note that not all of these transitions are necessarily enabled.
Sourcepub fn transition_debug(
&self,
transition_index: usize,
marking: &BPMNMarking,
) -> Option<String>
pub fn transition_debug( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<String>
Print a list of transitions at the current marking.
Sourcepub fn transition_2_consumed_tokens(
&self,
transition_index: usize,
marking: &BPMNMarking,
) -> Result<Vec<Token>, Error>
pub fn transition_2_consumed_tokens( &self, transition_index: usize, marking: &BPMNMarking, ) -> Result<Vec<Token>, Error>
Returns the tokens that are consumed when this transition is fired, or None if the transition does not exist.
Sourcepub fn transition_2_produced_tokens(
&self,
transition_index: usize,
marking: &BPMNMarking,
) -> Result<Vec<Token>, Error>
pub fn transition_2_produced_tokens( &self, transition_index: usize, marking: &BPMNMarking, ) -> Result<Vec<Token>, Error>
Returns the tokens that are produced when this transition is fired, or None if the transition does not exist.
Source§impl BusinessProcessModelAndNotation
impl BusinessProcessModelAndNotation
Sourcepub fn is_structurally_correct(&self) -> Result<(), Error>
pub fn is_structurally_correct(&self) -> Result<(), Error>
Verify whether the model is structurally correct using several, though not exhaustive, checks. If the BPMN model is imported by import_from_reader or created using a BPMNCreator, there is no need to call this method.
Trait Implementations§
Source§impl BPMNObject for BusinessProcessModelAndNotation
impl BPMNObject for BusinessProcessModelAndNotation
Source§fn global_index(&self) -> (usize, ())
fn global_index(&self) -> (usize, ())
Source§fn local_index(&self) -> usize
fn local_index(&self) -> usize
Source§fn is_unconstrained_start_event(
&self,
_bpmn: &BusinessProcessModelAndNotation,
) -> Result<bool, Error>
fn is_unconstrained_start_event( &self, _bpmn: &BusinessProcessModelAndNotation, ) -> Result<bool, Error>
Source§fn is_end_event(&self) -> bool
fn is_end_event(&self) -> bool
Source§fn incoming_sequence_flows(&self) -> &[usize]
fn incoming_sequence_flows(&self) -> &[usize]
Source§fn outgoing_sequence_flows(&self) -> &[usize]
fn outgoing_sequence_flows(&self) -> &[usize]
Source§fn incoming_message_flows(&self) -> &[usize]
fn incoming_message_flows(&self) -> &[usize]
Source§fn outgoing_message_flows(&self) -> &[usize]
fn outgoing_message_flows(&self) -> &[usize]
Source§fn can_start_process_instance(
&self,
_bpmn: &BusinessProcessModelAndNotation,
) -> Result<bool, Error>
fn can_start_process_instance( &self, _bpmn: &BusinessProcessModelAndNotation, ) -> Result<bool, Error>
Source§fn outgoing_message_flows_always_have_tokens(&self) -> bool
fn outgoing_message_flows_always_have_tokens(&self) -> bool
Source§fn outgoing_messages_cannot_be_removed(&self) -> bool
fn outgoing_messages_cannot_be_removed(&self) -> bool
true, do not produce more than 1 message and do not remove messages from message flows outgoing of this object.Source§fn incoming_messages_are_ignored(&self) -> bool
fn incoming_messages_are_ignored(&self) -> bool
true, do not produce messages on message arcs coming into this object.Source§fn can_have_incoming_sequence_flows(&self) -> bool
fn can_have_incoming_sequence_flows(&self) -> bool
Source§fn can_have_outgoing_sequence_flows(&self) -> bool
fn can_have_outgoing_sequence_flows(&self) -> bool
Source§impl Clone for BusinessProcessModelAndNotation
impl Clone for BusinessProcessModelAndNotation
Source§fn clone(&self) -> BusinessProcessModelAndNotation
fn clone(&self) -> BusinessProcessModelAndNotation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl From<ProcessTree> for BusinessProcessModelAndNotation
impl From<ProcessTree> for BusinessProcessModelAndNotation
Source§fn from(value: ProcessTree) -> Self
fn from(value: ProcessTree) -> Self
Source§impl From<ProcessTreeMarkupLanguage> for BusinessProcessModelAndNotation
impl From<ProcessTreeMarkupLanguage> for BusinessProcessModelAndNotation
Source§fn from(value: ProcessTreeMarkupLanguage) -> Self
fn from(value: ProcessTreeMarkupLanguage) -> Self
Source§impl From<StochasticBusinessProcessModelAndNotation> for BusinessProcessModelAndNotation
impl From<StochasticBusinessProcessModelAndNotation> for BusinessProcessModelAndNotation
Source§fn from(
value: StochasticBusinessProcessModelAndNotation,
) -> BusinessProcessModelAndNotation
fn from( value: StochasticBusinessProcessModelAndNotation, ) -> BusinessProcessModelAndNotation
Source§impl From<StochasticProcessTree> for BusinessProcessModelAndNotation
impl From<StochasticProcessTree> for BusinessProcessModelAndNotation
Source§fn from(value: StochasticProcessTree) -> Self
fn from(value: StochasticProcessTree) -> Self
Source§impl Graphable for BusinessProcessModelAndNotation
impl Graphable for BusinessProcessModelAndNotation
fn to_dot(&self) -> Result<VisualGraph>
Source§impl HasActivityKey for BusinessProcessModelAndNotation
impl HasActivityKey for BusinessProcessModelAndNotation
fn activity_key(&self) -> &ActivityKey
fn activity_key_mut(&mut self) -> &mut ActivityKey
Source§impl Importable for BusinessProcessModelAndNotation
impl Importable for BusinessProcessModelAndNotation
Source§const IMPORTER_PARAMETERS: &[ImporterParameter]
const IMPORTER_PARAMETERS: &[ImporterParameter]
Source§const FILE_FORMAT_SPECIFICATION_LATEX: &str = "A Business Process Model and Notation (BPMN) model follows the OMG 2.0.2 standard~\\cite{omg2011bpmn}.
Currently, a sub-set of elements is supported."
const FILE_FORMAT_SPECIFICATION_LATEX: &str = "A Business Process Model and Notation (BPMN) model follows the OMG 2.0.2 standard~\\cite{omg2011bpmn}. Currently, a sub-set of elements is supported."
fn import_as_object( reader: &mut dyn BufRead, parameter_values: &ImporterParameterValues, ) -> Result<EbiObject>
Source§fn import(
reader: &mut dyn BufRead,
_parameter_values: &ImporterParameterValues,
) -> Result<Self>where
Self: Sized,
fn import(
reader: &mut dyn BufRead,
_parameter_values: &ImporterParameterValues,
) -> Result<Self>where
Self: Sized,
IMPORTER_PARAMETERS.fn default_importer_parameter_values() -> ImporterParameterValues
Source§impl Processable for BusinessProcessModelAndNotation
impl Processable for BusinessProcessModelAndNotation
Source§fn elements_non_recursive(&self) -> &Vec<BPMNElement>
fn elements_non_recursive(&self) -> &Vec<BPMNElement>
Source§fn sequence_flows_non_recursive(&self) -> &Vec<BPMNSequenceFlow>
fn sequence_flows_non_recursive(&self) -> &Vec<BPMNSequenceFlow>
Source§fn to_sub_marking(
&self,
_initiation_mode: &InitiationMode<'_>,
) -> Result<BPMNSubMarking, Error>
fn to_sub_marking( &self, _initiation_mode: &InitiationMode<'_>, ) -> Result<BPMNSubMarking, Error>
Source§fn is_sub_process(&self) -> bool
fn is_sub_process(&self) -> bool
Source§fn sequence_flow_index_2_source(
&self,
sequence_flow_index: usize,
) -> Result<&BPMNElement, Error>
fn sequence_flow_index_2_source( &self, sequence_flow_index: usize, ) -> Result<&BPMNElement, Error>
Source§fn sequence_flow_index_2_target(
&self,
sequence_flow_index: usize,
) -> Result<&BPMNElement, Error>
fn sequence_flow_index_2_target( &self, sequence_flow_index: usize, ) -> Result<&BPMNElement, Error>
Source§impl TranslateActivityKey for BusinessProcessModelAndNotation
impl TranslateActivityKey for BusinessProcessModelAndNotation
Source§fn translate_using_activity_key(&mut self, to_activity_key: &mut ActivityKey)
fn translate_using_activity_key(&mut self, to_activity_key: &mut ActivityKey)
Source§impl TryFrom<BusinessProcessModelAndNotation> for StochasticBusinessProcessModelAndNotation
impl TryFrom<BusinessProcessModelAndNotation> for StochasticBusinessProcessModelAndNotation
Source§fn try_from(
value: BusinessProcessModelAndNotation,
) -> Result<StochasticBusinessProcessModelAndNotation, <StochasticBusinessProcessModelAndNotation as TryFrom<BusinessProcessModelAndNotation>>::Error>
fn try_from( value: BusinessProcessModelAndNotation, ) -> Result<StochasticBusinessProcessModelAndNotation, <StochasticBusinessProcessModelAndNotation as TryFrom<BusinessProcessModelAndNotation>>::Error>
Attempt to transform a BPMN model into an SBPMN model. This is possible if the appropriate sequence flows are annotated with weights.
Auto Trait Implementations§
impl Freeze for BusinessProcessModelAndNotation
impl RefUnwindSafe for BusinessProcessModelAndNotation
impl Send for BusinessProcessModelAndNotation
impl Sync for BusinessProcessModelAndNotation
impl Unpin for BusinessProcessModelAndNotation
impl UnsafeUnpin for BusinessProcessModelAndNotation
impl UnwindSafe for BusinessProcessModelAndNotation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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,
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,
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,
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,
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,
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,
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,
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,
self to use its UpperHex implementation when
Debug-formatted.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>
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>
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 moreSource§impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
fn overflowing_into(self) -> (U, bool)
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,
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,
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,
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
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
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
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
fn rounding_into(self, rm: RoundingMode) -> (U, Ordering)
Source§impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
fn saturating_into(self) -> U
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
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
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
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
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
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
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
.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
.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
.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
.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
.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
.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
.tap_deref() only in debug builds, and is erased in release
builds.Source§impl<T> ToDebugString for Twhere
T: Debug,
impl<T> ToDebugString for Twhere
T: Debug,
Source§fn to_debug_string(&self) -> String
fn to_debug_string(&self) -> String
Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.