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", so this trait is not object safe.

Implementors§

Source§

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