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_all_owned<'b, S: SpectrumLike<C, D> + 'static, T: Iterator<Item = 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> { ... }
    fn write_all_groups_owned<'b, S: SpectrumLike<C, D> + 'static, G: SpectrumGrouping<C, D, S> + 'static, T: Iterator<Item = 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 MultiLayerSpectrum references

source

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

Consume an Iterator over MultiLayerSpectrum

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

source

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

Consume an Iterator over SpectrumGroup

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§