Trait plasma::PhaseAmpsSelect

source ·
pub trait PhaseAmpsSelect<'a> {
    type Item: PhaseAmpAccess + ?Sized + 'a;
    type IterOne: Iterator<Item = &'a Self::Item> + ExactSizeIterator;
    type IterPair: Iterator<Item = (&'a Self::Item, &'a Self::Item)> + ExactSizeIterator;
    type IterTriple: Iterator<Item = (&'a Self::Item, &'a Self::Item, &'a Self::Item)> + ExactSizeIterator;
    type IterQuad: Iterator<Item = (&'a Self::Item, &'a Self::Item, &'a Self::Item, &'a Self::Item)> + ExactSizeIterator;

    // Required methods
    fn select(&self, range: Range<usize>) -> &Self;
    fn iter_phase_amps(&'a self) -> Self::IterOne;
    fn iter_pa_pairs(&'a self) -> Self::IterPair;
    fn iter_pa_triples(&'a self) -> Self::IterTriple;
    fn iter_pa_quads(&'a self) -> Self::IterQuad;
}
Expand description

A trait that allows selecting a subset of phase’n’amplitude and iterate over pairs of it.

Required Associated Types§

source

type Item: PhaseAmpAccess + ?Sized + 'a

source

type IterOne: Iterator<Item = &'a Self::Item> + ExactSizeIterator

source

type IterPair: Iterator<Item = (&'a Self::Item, &'a Self::Item)> + ExactSizeIterator

source

type IterTriple: Iterator<Item = (&'a Self::Item, &'a Self::Item, &'a Self::Item)> + ExactSizeIterator

source

type IterQuad: Iterator<Item = (&'a Self::Item, &'a Self::Item, &'a Self::Item, &'a Self::Item)> + ExactSizeIterator

Required Methods§

source

fn select(&self, range: Range<usize>) -> &Self

The range should always be bounded.

§Panics

Panics if range exceeds the underlying data boundaries.

source

fn iter_phase_amps(&'a self) -> Self::IterOne

source

fn iter_pa_pairs(&'a self) -> Self::IterPair

source

fn iter_pa_triples(&'a self) -> Self::IterTriple

source

fn iter_pa_quads(&'a self) -> Self::IterQuad

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a> PhaseAmpsSelect<'a> for [f32]

source§

impl<'a> PhaseAmpsSelect<'a> for [PhaseAmp]

Implementors§