Getter

Trait Getter 

Source
pub trait Getter<G, E: Copy + Debug>: Updatable<E> {
    // Required method
    fn get(&self) -> Output<G, E>;
}
Expand description

Something with a get method. Structs implementing this will often be chained for easier data processing, with a struct having other implementors in fields which will have some operation performed on their output before it being passed on. Data processing Getters with other Getters as fields can be referred to as streams, though this is only in naming and trait-wise there is no distinction. The other common use for this trait is encoders. These should not be called streams.

Required Methods§

Source

fn get(&self) -> Output<G, E>

Get something.

Implementors§

Source§

impl<E: Copy + Debug> Getter<Command, E> for Terminal<'_, E>

Source§

impl<E: Copy + Debug> Getter<State, E> for Terminal<'_, E>

Source§

impl<E: Copy + Debug> Getter<TerminalData, E> for Terminal<'_, E>

Source§

impl<G1: Getter<bool, E> + ?Sized, G2: Getter<bool, E> + ?Sized, E: Copy + Debug> Getter<bool, E> for AndStream<G1, G2, E>

Source§

impl<G1: Getter<bool, E> + ?Sized, G2: Getter<bool, E> + ?Sized, E: Copy + Debug> Getter<bool, E> for OrStream<G1, G2, E>

Source§

impl<G, TG: TimeGetter<E>, E: Copy + Debug> Getter<G, E> for GetterFromHistory<'_, G, TG, E>

Source§

impl<G: Getter<bool, E> + ?Sized, E: Copy + Debug> Getter<bool, E> for NotStream<G, E>

Source§

impl<G: Getter<f32, E> + ?Sized, E: Copy + Debug> Getter<f32, E> for PIDControllerStream<G, E>

Source§

impl<G: Getter<f32, E>, E: Copy + Debug> Getter<Quantity, E> for FloatToQuantity<G, E>

Source§

impl<G: Getter<Quantity, E> + ?Sized, E: Copy + Debug> Getter<f32, E> for QuantityToFloat<G, E>

Source§

impl<G: Getter<Quantity, E> + ?Sized, E: Copy + Debug> Getter<Quantity, E> for EWMAStream<Quantity, G, E>

Source§

impl<G: Getter<Quantity, E> + ?Sized, E: Copy + Debug> Getter<Quantity, E> for MovingAverageStream<Quantity, G, E>

Source§

impl<G: Getter<Quantity, E> + ?Sized, E: Copy + Debug> Getter<Quantity, E> for DerivativeStream<G, E>

Source§

impl<G: Getter<Quantity, E> + ?Sized, E: Copy + Debug> Getter<Quantity, E> for IntegralStream<G, E>

Source§

impl<G: Getter<Quantity, E> + ?Sized, E: Copy + Debug> Getter<State, E> for AccelerationToState<G, E>

Source§

impl<G: Getter<Quantity, E> + ?Sized, E: Copy + Debug> Getter<State, E> for PositionToState<G, E>

Source§

impl<G: Getter<Quantity, E> + ?Sized, E: Copy + Debug> Getter<State, E> for VelocityToState<G, E>

Source§

impl<G: Getter<State, E> + ?Sized, E: Copy + Debug> Getter<f32, E> for CommandPID<G, E>

Source§

impl<GB: Getter<f32, E> + ?Sized, GE: Getter<f32, E> + ?Sized, E: Copy + Debug> Getter<f32, E> for ExponentStream<GB, GE, E>

Source§

impl<T, E: Copy + Debug> Getter<T, E> for NoneGetter

Source§

impl<T, G: Getter<T, E> + ?Sized, TG: TimeGetter<E> + ?Sized, E: Copy + Debug> Getter<T, E> for Expirer<T, G, TG, E>

Source§

impl<T, GC: Getter<bool, E> + ?Sized, GI: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for IfStream<T, GC, GI, E>

Source§

impl<T, GC: Getter<bool, E> + ?Sized, GT: Getter<T, E> + ?Sized, GF: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for IfElseStream<T, GC, GT, GF, E>

Source§

impl<T, const C: usize, E: Copy + Debug> Getter<T, E> for Latest<T, C, E>

Source§

impl<T: Clone + Default + AddAssign + Mul<f32, Output = T> + DivAssign<f32>, G: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for MovingAverageStream<T, G, E>

Source§

impl<T: Clone + Add<Output = T> + Mul<f32, Output = T>, G: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for EWMAStream<T, G, E>

Source§

impl<T: Clone, G: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for NoneToError<T, G, E>

Source§

impl<T: Clone, G: Getter<T, E> + ?Sized, TG: TimeGetter<E> + ?Sized, E: Copy + Debug> Getter<T, E> for NoneToValue<T, G, TG, E>

Source§

impl<T: Clone, GC: Getter<bool, E> + ?Sized, GI: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for FreezeStream<T, GC, GI, E>

Source§

impl<T: Clone, TG: TimeGetter<E> + ?Sized, E: Copy + Debug> Getter<T, E> for ConstantGetter<T, TG, E>

Source§

impl<T: Add<Output = T>, G1: Getter<T, E> + ?Sized, G2: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for Sum2<T, G1, G2, E>

Source§

impl<T: AddAssign + Copy, const N: usize, E: Copy + Debug> Getter<T, E> for SumStream<T, N, E>

Source§

impl<T: Div<Output = T>, GD: Getter<T, E> + ?Sized, GS: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for QuotientStream<T, GD, GS, E>

Source§

impl<T: Mul<Output = T>, G1: Getter<T, E> + ?Sized, G2: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for Product2<T, G1, G2, E>

Source§

impl<T: MulAssign + Copy, const N: usize, E: Copy + Debug> Getter<T, E> for ProductStream<T, N, E>

Source§

impl<T: Sub<Output = T>, GM: Getter<T, E> + ?Sized, GS: Getter<T, E> + ?Sized, E: Copy + Debug> Getter<T, E> for DifferenceStream<T, GM, GS, E>