pub struct LanguageOfAlignments {
pub activity_key: ActivityKey,
pub alignments: Vec<Vec<Move>>,
}Fields§
§activity_key: ActivityKey§alignments: Vec<Vec<Move>>Implementations§
Source§impl LanguageOfAlignments
impl LanguageOfAlignments
pub fn new(activity_key: ActivityKey) -> Self
pub fn push(&mut self, alignment: Vec<Move>)
pub fn append(&mut self, alignments: &mut Vec<Vec<Move>>)
pub fn get(&self, index: usize) -> Option<&Vec<Move>>
pub fn get_activity_key(&self) -> &ActivityKey
pub fn get_activity_key_mut(&mut self) -> &mut ActivityKey
pub fn sort(&mut self)
Trait Implementations§
Source§impl Clone for LanguageOfAlignments
impl Clone for LanguageOfAlignments
Source§fn clone(&self) -> LanguageOfAlignments
fn clone(&self) -> LanguageOfAlignments
Returns a duplicate 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 Display for LanguageOfAlignments
impl Display for LanguageOfAlignments
Source§impl Exportable for LanguageOfAlignments
impl Exportable for LanguageOfAlignments
Source§impl From<StochasticLanguageOfAlignments> for LanguageOfAlignments
impl From<StochasticLanguageOfAlignments> for LanguageOfAlignments
Source§fn from(value: StochasticLanguageOfAlignments) -> Self
fn from(value: StochasticLanguageOfAlignments) -> Self
Converts to this type from the input type.
Source§impl FromStr for LanguageOfAlignments
impl FromStr for LanguageOfAlignments
Source§impl HasActivityKey for LanguageOfAlignments
impl HasActivityKey for LanguageOfAlignments
fn activity_key(&self) -> &ActivityKey
fn activity_key_mut(&mut self) -> &mut ActivityKey
Source§impl Importable for LanguageOfAlignments
impl Importable for LanguageOfAlignments
Source§const FILE_FORMAT_SPECIFICATION_LATEX: &str = "A language of alignments is a line-based structure. Lines starting with a \\# are ignored.
This first line is exactly `language of alignments'.
The second line is the number of alignments in the language.
For each alignment, the first line contains the number of moves in the alignment.
Then, each move is given as either
\\begin{itemize}
\\item `synchronous move', followed by a line with the word `label' followed by a space and the activity label, which is followed with a line with the index of the involved transition.
\\item `silent move', followed by a line with the index of the silent transition.
\\item `log move', followed by a line with the word `label', then a space, and then the activity label.
\\item `model move', followed by a line with the word `label' followed by a space and the activity label, which is followed with a line with the index of the involved ransition.
\\end{itemize}
Note that the Semantics trait of Ebi, which is what most alignment computations use, requires that every final marking is a deadlock.
Consequently, an implicit silent transition may be added by the Semantics trait that is not in the model.
For instance:
\\lstinputlisting[language=ebilines, style=boxed]{../testfiles/aa-ab-ba.ali}"
const FILE_FORMAT_SPECIFICATION_LATEX: &str = "A language of alignments is a line-based structure. Lines starting with a \\# are ignored. This first line is exactly `language of alignments'. The second line is the number of alignments in the language. For each alignment, the first line contains the number of moves in the alignment. Then, each move is given as either \\begin{itemize} \\item `synchronous move', followed by a line with the word `label' followed by a space and the activity label, which is followed with a line with the index of the involved transition. \\item `silent move', followed by a line with the index of the silent transition. \\item `log move', followed by a line with the word `label', then a space, and then the activity label. \\item `model move', followed by a line with the word `label' followed by a space and the activity label, which is followed with a line with the index of the involved ransition. \\end{itemize} Note that the Semantics trait of Ebi, which is what most alignment computations use, requires that every final marking is a deadlock. Consequently, an implicit silent transition may be added by the Semantics trait that is not in the model. For instance: \\lstinputlisting[language=ebilines, style=boxed]{../testfiles/aa-ab-ba.ali}"
A latex piece that describes the file format.
Source§const IMPORTER_PARAMETERS: &[ImporterParameter]
const IMPORTER_PARAMETERS: &[ImporterParameter]
Defines the parameters that the importer expects.
fn import_as_object( reader: &mut dyn BufRead, parameter_values: &ImporterParameterValues, ) -> Result<EbiObject>
Source§fn import(reader: &mut dyn BufRead, _: &ImporterParameterValues) -> Result<Self>where
Self: Sized,
fn import(reader: &mut dyn BufRead, _: &ImporterParameterValues) -> Result<Self>where
Self: Sized,
Attempts to import from the reader.
The parameter_values must match the order given in
IMPORTER_PARAMETERS.fn default_importer_parameter_values() -> ImporterParameterValues
Source§impl Infoable for LanguageOfAlignments
impl Infoable for LanguageOfAlignments
Source§impl TranslateActivityKey for LanguageOfAlignments
impl TranslateActivityKey for LanguageOfAlignments
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)
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.
Auto Trait Implementations§
impl Freeze for LanguageOfAlignments
impl RefUnwindSafe for LanguageOfAlignments
impl Send for LanguageOfAlignments
impl Sync for LanguageOfAlignments
impl Unpin for LanguageOfAlignments
impl UnwindSafe for LanguageOfAlignments
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 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> 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<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
Convert this type into
T, using the provided data to resolve any offsets.