Trait mzdata::io::SpectrumWriter

source ·
pub trait SpectrumWriter<C: CentroidLike + Default = CentroidPeak, D: DeconvolutedCentroidLike + Default = DeconvolutedPeak> {
    // Required methods
    fn write<S: SpectrumLike<C, D> + 'static>(
        &mut self,
        spectrum: &S
    ) -> Result<usize>;
    fn flush(&mut self) -> Result<()>;
    fn close(&mut self) -> Result<()>;

    // Provided methods
    fn write_owned<S: SpectrumLike<C, D> + 'static>(
        &mut self,
        spectrum: S
    ) -> Result<usize> { ... }
    fn write_all<'b, S: SpectrumLike<C, D> + 'static, T: Iterator<Item = &'b S>>(
        &mut self,
        iterator: T
    ) -> Result<usize> { ... }
    fn write_group<S: SpectrumLike<C, D> + 'static, G: SpectrumGrouping<C, D, S> + 'static>(
        &mut self,
        group: &G
    ) -> Result<usize> { ... }
    fn write_group_owned<S: SpectrumLike<C, D> + 'static, G: SpectrumGrouping<C, D, S> + 'static>(
        &mut self,
        group: G
    ) -> Result<usize> { ... }
    fn write_all_groups<'b, S: SpectrumLike<C, D> + 'static, G: SpectrumGrouping<C, D, S> + 'static, T: Iterator<Item = &'b G>>(
        &mut self,
        iterator: T
    ) -> Result<usize> { ... }
}
Expand description

Common interface for spectrum writing

Required Methods§

source

fn write<S: SpectrumLike<C, D> + 'static>( &mut self, spectrum: &S ) -> Result<usize>

Write out a single spectrum

source

fn flush(&mut self) -> Result<()>

source

fn close(&mut self) -> Result<()>

Completes the data file format, preventing new data from being able incorporate additional data. Does not formally close the underlying writing stream.

Provided Methods§

source

fn write_owned<S: SpectrumLike<C, D> + 'static>( &mut self, spectrum: S ) -> Result<usize>

Write out a single owned spectrum.

This may produce fewer copies for some implementations.

source

fn write_all<'b, S: SpectrumLike<C, D> + 'static, T: Iterator<Item = &'b S>>( &mut self, iterator: T ) -> Result<usize>

Consume an Iterator over Spectrum references

source

fn write_group<S: SpectrumLike<C, D> + 'static, G: SpectrumGrouping<C, D, S> + 'static>( &mut self, group: &G ) -> Result<usize>

Write a SpectrumGroup out in order

source

fn write_group_owned<S: SpectrumLike<C, D> + 'static, G: SpectrumGrouping<C, D, S> + 'static>( &mut self, group: G ) -> Result<usize>

Write an owned SpectrumGroup out in order

This may produce fewer copies for some implementations.

source

fn write_all_groups<'b, S: SpectrumLike<C, D> + 'static, G: SpectrumGrouping<C, D, S> + 'static, T: Iterator<Item = &'b G>>( &mut self, iterator: T ) -> Result<usize>

Consume an Iterator over SpectrumGroup references

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<C: CentroidLike + Default + Send + BuildArrayMapFrom + BuildFromArrayMap + Clone, D: DeconvolutedCentroidLike + Default + Send + BuildArrayMapFrom + BuildFromArrayMap + Clone> SpectrumWriter<C, D> for Sender<MultiLayerSpectrum<C, D>>

source§

fn write<S: SpectrumLike<C, D> + 'static>( &mut self, spectrum: &S ) -> Result<usize>

source§

fn write_owned<S: SpectrumLike<C, D> + 'static>( &mut self, spectrum: S ) -> Result<usize>

source§

fn flush(&mut self) -> Result<()>

source§

fn close(&mut self) -> Result<()>

source§

impl<C: CentroidLike + Default + Send + BuildArrayMapFrom + BuildFromArrayMap + Clone, D: DeconvolutedCentroidLike + Default + Send + BuildArrayMapFrom + BuildFromArrayMap + Clone> SpectrumWriter<C, D> for SyncSender<MultiLayerSpectrum<C, D>>

source§

fn write<S: SpectrumLike<C, D> + 'static>( &mut self, spectrum: &S ) -> Result<usize>

source§

fn write_owned<S: SpectrumLike<C, D> + 'static>( &mut self, spectrum: S ) -> Result<usize>

source§

fn flush(&mut self) -> Result<()>

source§

fn close(&mut self) -> Result<()>

Implementors§