Skip to main content

WriteSamples

Trait WriteSamples 

Source
pub trait WriteSamples: Write {
    // Provided methods
    fn write_sample<T: BytesSample>(&mut self, sample: &T) -> Result<()> { ... }
    fn write_number<T: BytesSample>(
        &mut self,
        value: T::NumericType,
    ) -> Result<()> { ... }
    fn write_converted<T: RawSample + BytesSample, U: FloatCore + ToPrimitive>(
        &mut self,
        value: U,
    ) -> Result<bool> { ... }
    fn write_all_samples<T: BytesSample>(&mut self, samples: &[T]) -> Result<()> { ... }
    fn write_all_numbers<T: BytesSample>(
        &mut self,
        values: &[T::NumericType],
    ) -> Result<()> { ... }
    fn write_all_converted<T: RawSample + BytesSample, U: FloatCore + ToPrimitive>(
        &mut self,
        values: &[U],
    ) -> Result<usize> { ... }
}
Expand description

A trait that extends std::io::Write with methods for writing samples directly.

Provided Methods§

Source

fn write_sample<T: BytesSample>(&mut self, sample: &T) -> Result<()>

Write a single sample to the underlying writer.

This method takes a reference to a sample of type T, gets its raw byte representation using the as_slice method, and writes it to the underlying writer.

§Type Parameters
  • T: A type implementing the BytesSample trait, defining the format of the sample to write.
§Returns
  • io::Result<()>: Ok(()) if the sample was written successfully.
§Errors

This function will return an error if:

  • The underlying writer returns an error.
Source

fn write_number<T: BytesSample>(&mut self, value: T::NumericType) -> Result<()>

Write a single sample from a numeric type to the underlying writer.

This method takes a sample represented by its NumericType, converts it to a raw byte representation using the provided T, and writes it to the underlying writer.

§Type Parameters
  • T: A type implementing the BytesSample trait, defining the format of the sample to write.
§Arguments
  • value: The sample to write.
§Returns
  • io::Result<()>: Ok(()) if the sample was written successfully.
§Errors

This function will return an error if:

  • The underlying writer returns an error.
Source

fn write_converted<T: RawSample + BytesSample, U: FloatCore + ToPrimitive>( &mut self, value: U, ) -> Result<bool>

Write a single converted sample to the underlying writer.

This method takes a floating-point sample of type U, converts it to the raw byte representation of type T and then writes it to the underlying writer.

§Type Parameters
  • T: A type implementing both RawSample and BytesSample, defining the format of the sample to write.
  • U: A floating-point type implementing FloatCore and ToPrimitive, representing the sample to write.
§Arguments
  • value: The sample to write.
§Returns
  • io::Result<bool>: Ok(true) if the value was clipped during conversion, Ok(false) otherwise.
§Errors

This function will return an error if:

  • The underlying writer returns an error.
Source

fn write_all_samples<T: BytesSample>(&mut self, samples: &[T]) -> Result<()>

Write multiple samples to the underlying writer.

This method takes a slice of samples, gets the raw byte representation of each sample, and then writes it to the underlying writer.

§Type Parameters
  • T: A type implementing the BytesSample trait, defining the format of the samples to write.
§Arguments
  • samples: The samples to write.
§Returns
  • io::Result<()>: Ok(()) if all samples were written successfully.
§Errors

This function will return an error if:

  • The underlying writer returns an error.
Source

fn write_all_numbers<T: BytesSample>( &mut self, values: &[T::NumericType], ) -> Result<()>

Write multiple samples from a numeric slice to the underlying writer.

This method takes a slice of samples represented by their NumericType, converts each sample to its raw byte representation using the provided T, and writes them to the underlying writer.

§Type Parameters
  • T: A type implementing the BytesSample trait, defining the format of the samples to write.
§Arguments
  • values: The samples to write.
§Returns
  • io::Result<()>: Ok(()) if all samples were written successfully.
§Errors

This function will return an error if:

  • The underlying writer returns an error.
Source

fn write_all_converted<T: RawSample + BytesSample, U: FloatCore + ToPrimitive>( &mut self, values: &[U], ) -> Result<usize>

Write multiple converted samples from a float slice to the underlying writer.

This method takes a slice of floating-point samples of type U, converts each sample to its raw byte representation of type T, and then writes them to the underlying writer.

§Type Parameters
  • T: A type implementing both RawSample and BytesSample, defining the format of the samples to write.
  • U: A floating-point type implementing FloatCore and ToPrimitive, representing the samples to write.
§Arguments
  • values: The samples to write.
§Returns
  • io::Result<usize>: The number of samples that were clipped during conversion.
§Errors

This function will return an error if:

  • The underlying writer returns an error.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<W: Write + ?Sized> WriteSamples for W