Struct enso_automata::alphabet::SealedSegmentation [−][src]
Expand description
An immutable version of Segmentation
which consists cached information allowing for fast
segmentation analysis.
Fields
division_map: BTreeMap<Symbol, usize>
Implementations
impl SealedSegmentation
[src]
impl SealedSegmentation
[src]pub fn index_of_symbol(&self, symbol: &Symbol) -> usize
[src]
pub fn index_of_symbol(&self, symbol: &Symbol) -> usize
[src]The index of the provided symbol. Please note that the index always exists, as the alphabet spans across all possible symbols.
Methods from Deref<Target = BTreeMap<Symbol, usize>>
pub fn get<Q>(&self, key: &Q) -> Option<&V> where
K: Borrow<Q> + Ord,
Q: Ord + ?Sized,
1.0.0[src]
pub fn get<Q>(&self, key: &Q) -> Option<&V> where
K: Borrow<Q> + Ord,
Q: Ord + ?Sized,
1.0.0[src]Returns a reference to the value corresponding to the key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
Basic usage:
use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert(1, "a"); assert_eq!(map.get(&1), Some(&"a")); assert_eq!(map.get(&2), None);
pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)> where
K: Borrow<Q> + Ord,
Q: Ord + ?Sized,
1.40.0[src]
pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)> where
K: Borrow<Q> + Ord,
Q: Ord + ?Sized,
1.40.0[src]Returns the key-value pair corresponding to the supplied key.
The supplied key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert(1, "a"); assert_eq!(map.get_key_value(&1), Some((&1, &"a"))); assert_eq!(map.get_key_value(&2), None);
pub fn first_key_value(&self) -> Option<(&K, &V)> where
K: Ord,
[src]
🔬 This is a nightly-only experimental API. (map_first_last
)
pub fn first_key_value(&self) -> Option<(&K, &V)> where
K: Ord,
[src]map_first_last
)Returns the first key-value pair in the map. The key in this pair is the minimum key in the map.
Examples
Basic usage:
#![feature(map_first_last)] use std::collections::BTreeMap; let mut map = BTreeMap::new(); assert_eq!(map.first_key_value(), None); map.insert(1, "b"); map.insert(2, "a"); assert_eq!(map.first_key_value(), Some((&1, &"b")));
pub fn last_key_value(&self) -> Option<(&K, &V)> where
K: Ord,
[src]
🔬 This is a nightly-only experimental API. (map_first_last
)
pub fn last_key_value(&self) -> Option<(&K, &V)> where
K: Ord,
[src]map_first_last
)Returns the last key-value pair in the map. The key in this pair is the maximum key in the map.
Examples
Basic usage:
#![feature(map_first_last)] use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert(1, "b"); map.insert(2, "a"); assert_eq!(map.last_key_value(), Some((&2, &"a")));
pub fn contains_key<Q>(&self, key: &Q) -> bool where
K: Borrow<Q> + Ord,
Q: Ord + ?Sized,
1.0.0[src]
pub fn contains_key<Q>(&self, key: &Q) -> bool where
K: Borrow<Q> + Ord,
Q: Ord + ?Sized,
1.0.0[src]Returns true
if the map contains a value for the specified key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
Basic usage:
use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert(1, "a"); assert_eq!(map.contains_key(&1), true); assert_eq!(map.contains_key(&2), false);
pub fn range<T, R>(&self, range: R) -> Range<'_, K, V> where
T: Ord + ?Sized,
K: Borrow<T> + Ord,
R: RangeBounds<T>,
1.17.0[src]
pub fn range<T, R>(&self, range: R) -> Range<'_, K, V> where
T: Ord + ?Sized,
K: Borrow<T> + Ord,
R: RangeBounds<T>,
1.17.0[src]Constructs a double-ended iterator over a sub-range of elements in the map.
The simplest way is to use the range syntax min..max
, thus range(min..max)
will
yield elements from min (inclusive) to max (exclusive).
The range may also be entered as (Bound<T>, Bound<T>)
, so for example
range((Excluded(4), Included(10)))
will yield a left-exclusive, right-inclusive
range from 4 to 10.
Panics
Panics if range start > end
.
Panics if range start == end
and both bounds are Excluded
.
Examples
Basic usage:
use std::collections::BTreeMap; use std::ops::Bound::Included; let mut map = BTreeMap::new(); map.insert(3, "a"); map.insert(5, "b"); map.insert(8, "c"); for (&key, &value) in map.range((Included(&4), Included(&8))) { println!("{}: {}", key, value); } assert_eq!(Some((&5, &"b")), map.range(4..).next());
pub fn iter(&self) -> Iter<'_, K, V>
1.0.0[src]
pub fn iter(&self) -> Iter<'_, K, V>
1.0.0[src]Gets an iterator over the entries of the map, sorted by key.
Examples
Basic usage:
use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert(3, "c"); map.insert(2, "b"); map.insert(1, "a"); for (key, value) in map.iter() { println!("{}: {}", key, value); } let (first_key, first_value) = map.iter().next().unwrap(); assert_eq!((*first_key, *first_value), (1, "a"));
pub fn keys(&self) -> Keys<'_, K, V>
1.0.0[src]
pub fn keys(&self) -> Keys<'_, K, V>
1.0.0[src]Gets an iterator over the keys of the map, in sorted order.
Examples
Basic usage:
use std::collections::BTreeMap; let mut a = BTreeMap::new(); a.insert(2, "b"); a.insert(1, "a"); let keys: Vec<_> = a.keys().cloned().collect(); assert_eq!(keys, [1, 2]);
pub fn values(&self) -> Values<'_, K, V>
1.0.0[src]
pub fn values(&self) -> Values<'_, K, V>
1.0.0[src]Gets an iterator over the values of the map, in order by key.
Examples
Basic usage:
use std::collections::BTreeMap; let mut a = BTreeMap::new(); a.insert(1, "hello"); a.insert(2, "goodbye"); let values: Vec<&str> = a.values().cloned().collect(); assert_eq!(values, ["hello", "goodbye"]);
Trait Implementations
impl Clone for SealedSegmentation
[src]
impl Clone for SealedSegmentation
[src]fn clone(&self) -> SealedSegmentation
[src]
fn clone(&self) -> SealedSegmentation
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for SealedSegmentation
[src]
impl Debug for SealedSegmentation
[src]impl Default for SealedSegmentation
[src]
impl Default for SealedSegmentation
[src]fn default() -> SealedSegmentation
[src]
fn default() -> SealedSegmentation
[src]Returns the “default value” for a type. Read more
impl Deref for SealedSegmentation
[src]
impl Deref for SealedSegmentation
[src]impl From<&'_ Segmentation> for SealedSegmentation
[src]
impl From<&'_ Segmentation> for SealedSegmentation
[src]fn from(s: &Segmentation) -> Self
[src]
fn from(s: &Segmentation) -> Self
[src]Performs the conversion.
impl PartialEq<SealedSegmentation> for SealedSegmentation
[src]
impl PartialEq<SealedSegmentation> for SealedSegmentation
[src]fn eq(&self, other: &SealedSegmentation) -> bool
[src]
fn eq(&self, other: &SealedSegmentation) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &SealedSegmentation) -> bool
[src]
fn ne(&self, other: &SealedSegmentation) -> bool
[src]This method tests for !=
.
impl Eq for SealedSegmentation
[src]
impl StructuralEq for SealedSegmentation
[src]
impl StructuralPartialEq for SealedSegmentation
[src]
Auto Trait Implementations
impl RefUnwindSafe for SealedSegmentation
impl Send for SealedSegmentation
impl Sync for SealedSegmentation
impl Unpin for SealedSegmentation
impl UnwindSafe for SealedSegmentation
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> HasRefValue for T where
T: ?Sized,
[src]
impl<T> HasRefValue for T where
T: ?Sized,
[src]type RefValue = T
impl<T> PhantomConversions for T
[src]
impl<T> PhantomConversions for T
[src]fn phantom_into<P>() -> P where
Self: PhantomInto<P>,
[src]
Self: PhantomInto<P>,
fn phantom_from<P>() -> Self where
P: PhantomInto<Self>,
[src]
P: PhantomInto<Self>,
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> TypeDisplay for T
[src]
impl<T> TypeDisplay for T
[src]pub default fn type_display() -> String
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,