Skip to main content

BusinessProcessModelAndNotation

Struct BusinessProcessModelAndNotation 

Source
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.

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()?;
 assert_eq!(bpmn.get_enabled_transitions(&marking)?, vec![0]);
 bpmn.execute_transition(&mut marking, 0)?;
 
 Ok(())
}

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

Source

pub fn number_of_elements(&self) -> usize

Source

pub fn number_of_message_flows(&self) -> usize

Source

pub fn elements(&self) -> Vec<&BPMNElement>

returns all elements in the model (recursively)

Source

pub fn parent_of(&self, global_index: (usize, ())) -> Option<&dyn Processable>

Source

pub fn sequence_flows(&self) -> Vec<&BPMNSequenceFlow>

Returns all sequence flows (recursive)

Source

pub fn global_index_2_element(&self, index: (usize, ())) -> Option<&BPMNElement>

find an element with the given index

Source

pub fn global_index_2_element_mut( &mut self, index: (usize, ()), ) -> Option<&mut BPMNElement>

find an element with the given index

Source

pub fn index_2_object(&self, index: (usize, ())) -> Option<&dyn BPMNObject>

find the object of the given index

Source

pub fn message_flow_index_2_source( &self, message_flow_index: usize, ) -> Result<&BPMNElement, Error>

return the element that is the source of the given message flow

Source

pub fn message_flow_index_2_target( &self, message_flow_index: usize, ) -> Result<&BPMNElement, Error>

return the element that is the target of the given message flow

Source

pub fn global_index_2_sequence_flow_and_parent( &self, sequence_flow_global_index: (usize, ()), ) -> Option<(&BPMNSequenceFlow, &dyn Processable)>

return the sequence flow with the given global index

Source

pub fn transition_debug( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<String>

Source

pub fn transition_2_marked_sequence_flows( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<Vec<(usize, ())>>

Returns the global indices of sequence flows that get a token by executing this transition.

Source

pub fn global_index_2_sequence_flow_mut( &mut self, sequence_flow_global_index: (usize, ()), ) -> Option<&mut BPMNSequenceFlow>

return the sequence flow with this index, if it exists (recurses)

Source§

impl BusinessProcessModelAndNotation

Source

pub fn export_to_writer(&self, f: &mut dyn Write) -> Result<(), Error>

Source§

impl BusinessProcessModelAndNotation

Source

pub fn import_from_reader( reader: &mut dyn BufRead, disallow_sequence_flow_weights: bool, ) -> Result<BusinessProcessModelAndNotation, Error>

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.

Source§

impl BusinessProcessModelAndNotation

Source

pub fn get_initial_marking(&self) -> Result<BPMNMarking, Error>

BPMN 2.0.2 standard page 238

Source

pub fn execute_transition( &self, marking: &mut BPMNMarking, transition_index: usize, ) -> Result<(), Error>

Source

pub fn is_final_marking(&self, marking: &BPMNMarking) -> Result<bool, Error>

Source

pub fn is_transition_silent( &self, transition_index: usize, marking: &BPMNMarking, ) -> bool

Source

pub fn get_transition_activity( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<Activity>

Source

pub fn get_enabled_transitions( &self, marking: &BPMNMarking, ) -> Result<Vec<usize>, Error>

Source

pub fn number_of_transitions(&self, marking: &BPMNMarking) -> usize

Source§

impl BusinessProcessModelAndNotation

Trait Implementations§

Source§

impl BPMNObject for BusinessProcessModelAndNotation

Source§

fn global_index(&self) -> (usize, ())

return the global index
Source§

fn local_index(&self) -> usize

return the index within its parent
Source§

fn id(&self) -> &str

return the id
Source§

fn is_unconstrained_start_event( &self, _bpmn: &BusinessProcessModelAndNotation, ) -> Result<bool, Error>

return whether this is a start event that could initiate a process instance
Source§

fn is_end_event(&self) -> bool

return whether this is an end event
Source§

fn incoming_sequence_flows(&self) -> &[usize]

the flow indices of the incoming sequence flows of this object
Source§

fn outgoing_sequence_flows(&self) -> &[usize]

the flow indices of the outgoing sequence flows of this object
Source§

fn incoming_message_flows(&self) -> &[usize]

the flow indices of the incoming message flows of this object
Source§

fn outgoing_message_flows(&self) -> &[usize]

the flow indices of the outgoing message flows of this object
Source§

fn can_start_process_instance( &self, _bpmn: &BusinessProcessModelAndNotation, ) -> Result<bool, Error>

return whether this object could start a process instance, regardless of marking
Source§

fn outgoing_message_flows_always_have_tokens(&self) -> bool

return whether the outgoing message flows of this object are always enabled
Source§

fn outgoing_messages_cannot_be_removed(&self) -> bool

return whether any outgoing message flow of this object cannot be removed when it is there If 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

Return whether any incoming messages are ignored. If true, do not produce messages on message arcs coming into this object.
Source§

fn can_have_incoming_sequence_flows(&self) -> bool

return whether this object can have incoming sequence flows
Source§

fn can_have_outgoing_sequence_flows(&self) -> bool

return whether this object can have incoming sequence flows
Source§

impl Clone for BusinessProcessModelAndNotation

Source§

fn clone(&self) -> BusinessProcessModelAndNotation

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BusinessProcessModelAndNotation

Source§

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

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

impl Display for BusinessProcessModelAndNotation

Source§

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

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

impl Exportable for BusinessProcessModelAndNotation

Source§

fn export_from_object(object: EbiObject, f: &mut dyn Write) -> Result<()>

Input: any EbiObject. Output: the object will have been converted if necessary, and written to f. May fail for all kinds of reasons.
Source§

fn export(&self, f: &mut dyn Write) -> Result<()>

Source§

impl From<ProcessTree> for BusinessProcessModelAndNotation

Source§

fn from(value: ProcessTree) -> Self

Converts to this type from the input type.
Source§

impl From<StochasticBusinessProcessModelAndNotation> for BusinessProcessModelAndNotation

Source§

fn from( value: StochasticBusinessProcessModelAndNotation, ) -> BusinessProcessModelAndNotation

Converts to this type from the input type.
Source§

impl From<StochasticProcessTree> for BusinessProcessModelAndNotation

Source§

fn from(value: StochasticProcessTree) -> Self

Converts to this type from the input type.
Source§

impl FromStr for BusinessProcessModelAndNotation

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

fn from_str( s: &str, ) -> Result<BusinessProcessModelAndNotation, <BusinessProcessModelAndNotation as FromStr>::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Graphable for BusinessProcessModelAndNotation

Source§

impl HasActivityKey for BusinessProcessModelAndNotation

Source§

impl Importable for BusinessProcessModelAndNotation

Source§

const IMPORTER_PARAMETERS: &[ImporterParameter]

Defines the parameters that the importer expects.
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."

A latex piece that describes the file format.
Source§

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,

Attempts to import from the reader. The parameter_values must match the order given in IMPORTER_PARAMETERS.
Source§

fn default_importer_parameter_values() -> ImporterParameterValues

Source§

impl Infoable for BusinessProcessModelAndNotation

Source§

fn info(&self, f: &mut impl Write) -> Result<()>

Source§

impl Processable for BusinessProcessModelAndNotation

Source§

fn elements_non_recursive(&self) -> &Vec<BPMNElement>

return the elements of this process, but do not recurse
Source§

fn sequence_flows_non_recursive(&self) -> &Vec<BPMNSequenceFlow>

return the sequence flows of this process, but do not recurse
Source§

fn to_sub_marking( &self, _initiation_mode: &InitiationMode<'_>, ) -> Result<BPMNSubMarking, Error>

return a initial marking
Source§

fn is_sub_process(&self) -> bool

return whether this is a sub-process, i.e. not a pool or a root of the model
Source§

fn sequence_flow_index_2_source( &self, sequence_flow_index: usize, ) -> Result<&BPMNElement, Error>

return the element that is the target of the given sequence flow
Source§

fn sequence_flow_index_2_target( &self, sequence_flow_index: usize, ) -> Result<&BPMNElement, Error>

return the element that is the target of the given sequence flow
Source§

impl TranslateActivityKey for BusinessProcessModelAndNotation

Source§

fn translate_using_activity_key(&mut self, to_activity_key: &mut ActivityKey)

Change the activity key of this object, by translating all mentions of activities to the new activity key (which will be updated with activity labels it did not have yet.). This is a potentially expensive operation. If only a part of the activities will be used, then consider using an ActivityKeyTranslator directly. The activity key of this object will be updated too, so the activity keys will be equivalent afterwards.
Source§

impl TryFrom<BusinessProcessModelAndNotation> for StochasticBusinessProcessModelAndNotation

Source§

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.

Source§

type Error = Error

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

impl TryFrom<DeterministicFiniteAutomaton> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: DeterministicFiniteAutomaton) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<DirectlyFollowsGraph> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: DirectlyFollowsGraph) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<DirectlyFollowsModel> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: DirectlyFollowsModel) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<LabelledPetriNet> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: LabelledPetriNet) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<PetriNetMarkupLanguage> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: PetriNetMarkupLanguage) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<ProcessTreeMarkupLanguage> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: ProcessTreeMarkupLanguage) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<StochasticDeterministicFiniteAutomaton> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: StochasticDeterministicFiniteAutomaton) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<StochasticDirectlyFollowsModel> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: StochasticDirectlyFollowsModel) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<StochasticLabelledPetriNet> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: StochasticLabelledPetriNet) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<StochasticNondeterministicFiniteAutomaton> for BusinessProcessModelAndNotation

Source§

type Error = Error

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

fn try_from(value: StochasticNondeterministicFiniteAutomaton) -> Result<Self>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

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

Source§

fn exact_from(value: T) -> U

Source§

impl<T, U> ExactInto<U> for T
where U: ExactFrom<T>,

Source§

fn exact_into(self) -> U

Source§

impl<T> Finish for T

Source§

fn finish(self)

Does nothing but move self, equivalent to drop.
Source§

impl<T> FmtForward for T

Source§

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,

Causes self to use its Display implementation when Debug-formatted.
Source§

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,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

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,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

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,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> OverflowingInto<U> for T
where U: OverflowingFrom<T>,

Source§

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

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where 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) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> RoundingInto<U> for T
where U: RoundingFrom<T>,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> SaturatingInto<U> for T
where U: SaturatingFrom<T>,

Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

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

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
where Self: Borrow<B>, B: ?Sized,

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
where Self: BorrowMut<B>, B: ?Sized,

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
where Self: AsRef<R>, R: ?Sized,

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
where Self: AsMut<R>, R: ?Sized,

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
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToDebugString for T
where T: Debug,

Source§

fn to_debug_string(&self) -> String

Returns the String produced by Ts Debug implementation.

§Examples
use malachite_base::strings::ToDebugString;

assert_eq!([1, 2, 3].to_debug_string(), "[1, 2, 3]");
assert_eq!(
    [vec![2, 3], vec![], vec![4]].to_debug_string(),
    "[[2, 3], [], [4]]"
);
assert_eq!(Some(5).to_debug_string(), "Some(5)");
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<U, T> ToOwnedObj<U> for T
where U: FromObjRef<T>,

Source§

fn to_owned_obj(&self, data: FontData<'_>) -> U

Convert this type into T, using the provided data to resolve any offsets.
Source§

impl<U, T> ToOwnedTable<U> for T
where U: FromTableRef<T>,

Source§

fn to_owned_table(&self) -> U

Source§

impl<T> ToPDF for T
where T: ToSVG,

Source§

impl<T> ToPNG for T
where T: ToSVG,

Source§

impl<T> ToSVG for T
where T: Graphable,

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
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, U> WrappingInto<U> for T
where U: WrappingFrom<T>,

Source§

fn wrapping_into(self) -> U