Trait Segmentation

Source
pub trait Segmentation: SegmentedOver {
    // Required methods
    fn tail(&mut self) -> Segment<'_, Self::Kind, Self::Target>;
    fn rtail(&mut self) -> Segment<'_, Self::Kind, Self::Target>;

    // Provided method
    fn segment<R>(&mut self, range: R) -> Segment<'_, Self::Kind, Self::Target>
       where Self: SegmentedBy<R> { ... }
}
Available on crate features arrayvec or alloc only.

Required Methods§

Source

fn tail(&mut self) -> Segment<'_, Self::Kind, Self::Target>

Source

fn rtail(&mut self) -> Segment<'_, Self::Kind, Self::Target>

Provided Methods§

Source

fn segment<R>(&mut self, range: R) -> Segment<'_, Self::Kind, Self::Target>
where Self: SegmentedBy<R>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<A> Segmentation for SmallVec<A>
where A: Array,

Available on crate feature smallvec only.
Source§

fn tail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

fn rtail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

impl<K, V> Segmentation for BTreeMap<K, V>
where K: Clone + Ord,

Available on crate feature alloc only.
Source§

fn tail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

fn rtail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

impl<K, V, S> Segmentation for IndexMap<K, V, S>

Available on crate feature indexmap only.
Source§

fn tail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

fn rtail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

impl<T> Segmentation for BTreeSet<T>
where T: Clone + Ord,

Available on crate feature alloc only.
Source§

fn tail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

fn rtail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

impl<T> Segmentation for VecDeque<T>

Available on crate feature alloc only.
Source§

fn tail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

fn rtail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

impl<T> Segmentation for Vec<T>

Available on crate feature alloc only.
Source§

fn tail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

fn rtail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

impl<T, S> Segmentation for IndexSet<T, S>

Available on crate feature indexmap only.
Source§

fn tail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

fn rtail(&mut self) -> Segment<'_, Self>

Available on crate features arrayvec or alloc only.
Source§

impl<T, const N: usize> Segmentation for ArrayVec<T, N>

Available on crate feature arrayvec only.
Source§

fn tail(&mut self) -> Segment<'_, Self, N>

Available on crate features arrayvec or alloc only.
Source§

fn rtail(&mut self) -> Segment<'_, Self, N>

Available on crate features arrayvec or alloc only.

Implementors§

Source§

impl<A> Segmentation for SmallVec1<A>
where A: Array,

Available on crate feature smallvec only.
Source§

impl<K, A, T> Segmentation for mitsein::small_vec1::Segment<'_, K>
where K: ClosedSmallVec<Array = A> + SegmentedOver<Target = SmallVec<A>>, A: Array<Item = T>,

Available on crate feature smallvec only.
Source§

impl<K, T> Segmentation for mitsein::btree_set1::Segment<'_, K>
where K: ClosedBTreeSet<Item = T> + SegmentedOver<Target = BTreeSet<T>>, T: Clone + Ord,

Available on crate feature alloc only.
Source§

impl<K, T> Segmentation for mitsein::vec1::Segment<'_, K>
where K: ClosedVec<Item = T> + SegmentedOver<Target = Vec<T>>,

Available on crate feature alloc only.
Source§

impl<K, T> Segmentation for mitsein::vec_deque1::Segment<'_, K>
where K: ClosedVecDeque<Item = T> + SegmentedOver<Target = VecDeque<T>>,

Available on crate feature alloc only.
Source§

impl<K, T, S> Segmentation for mitsein::index_set1::Segment<'_, K>
where K: ClosedIndexSet<Item = T, State = S> + SegmentedOver<Target = IndexSet<T, S>>,

Available on crate feature indexmap only.
Source§

impl<K, T, const N: usize> Segmentation for mitsein::array_vec1::Segment<'_, K, N>
where K: ClosedArrayVec<N, Item = T> + SegmentedOver<Target = ArrayVec<T, N>>,

Available on crate feature arrayvec only.
Source§

impl<K, V> Segmentation for BTreeMap1<K, V>
where K: Clone + UnsafeOrd,

Available on crate feature alloc only.
Source§

impl<K, V, S> Segmentation for IndexMap1<K, V, S>

Available on crate feature indexmap only.
Source§

impl<T> Segmentation for BTreeSet1<T>
where T: Clone + UnsafeOrd,

Available on crate feature alloc only.
Source§

impl<T> Segmentation for Vec1<T>

Available on crate feature alloc only.
Source§

impl<T> Segmentation for VecDeque1<T>

Available on crate feature alloc only.
Source§

impl<T, K, V> Segmentation for mitsein::btree_map1::Segment<'_, T>
where T: ClosedBTreeMap<Key = K, Value = V> + SegmentedOver<Target = BTreeMap<K, V>>, K: Clone + Ord,

Available on crate feature alloc only.
Source§

impl<T, K, V, S> Segmentation for mitsein::index_map1::Segment<'_, T>
where T: ClosedIndexMap<Key = K, Value = V, State = S> + SegmentedOver<Target = IndexMap<K, V, S>>,

Available on crate feature indexmap only.
Source§

impl<T, S> Segmentation for IndexSet1<T, S>

Available on crate feature indexmap only.
Source§

impl<T, const N: usize> Segmentation for ArrayVec1<T, N>
where [T; N]: Array1,

Available on crate feature arrayvec only.