Trait audio::ExactSizeBuf[][src]

pub trait ExactSizeBuf: Buf {
    pub fn frames(&self) -> usize;
}

Trait used to describe a buffer that knows exactly how many frames it has regardless of if it’s sized or not.

Examples

use audio::ExactSizeBuf;

fn test<T>(buf: T) where T: ExactSizeBuf {
    assert_eq!(buf.frames(), 4);
}

test(audio::interleaved![[0i16; 4]; 4]);
test(audio::sequential![[0i16; 4]; 4]);
test(audio::dynamic![[0i16; 4]; 4]);
test(audio::wrap::interleaved([0i16; 16], 4));
test(audio::wrap::sequential([0i16; 16], 4));

Required methods

pub fn frames(&self) -> usize[src]

The number of frames in a buffer.

Examples

use audio::ExactSizeBuf;

fn test<T>(buf: T) where T: ExactSizeBuf {
    assert_eq!(buf.frames(), 4);
}

test(audio::interleaved![[0i16; 4]; 4]);
test(audio::sequential![[0i16; 4]; 4]);
test(audio::dynamic![[0i16; 4]; 4]);
test(audio::wrap::interleaved([0i16; 16], 4));
test(audio::wrap::sequential([0i16; 16], 4));
Loading content...

Implementations on Foreign Types

impl<'_, B> ExactSizeBuf for &'_ mut B where
    B: ExactSizeBuf + ?Sized
[src]

impl<'_, B> ExactSizeBuf for &'_ B where
    B: ExactSizeBuf + ?Sized
[src]

Loading content...

Implementors

impl<B> ExactSizeBuf for Read<B> where
    B: ExactSizeBuf
[src]

impl<B> ExactSizeBuf for ReadWrite<B> where
    B: ExactSizeBuf
[src]

impl<B> ExactSizeBuf for Write<B> where
    B: ExactSizeBuf
[src]

impl<T> ExactSizeBuf for Dynamic<T>[src]

impl<T> ExactSizeBuf for audio::interleaved::Interleaved<T>[src]

impl<T> ExactSizeBuf for audio::sequential::Sequential<T>[src]

impl<T> ExactSizeBuf for audio::wrap::Interleaved<&[T]>[src]

impl<T> ExactSizeBuf for audio::wrap::Interleaved<&mut [T]>[src]

impl<T> ExactSizeBuf for audio::wrap::Sequential<&[T]>[src]

impl<T> ExactSizeBuf for audio::wrap::Sequential<&mut [T]>[src]

impl<T, const N: usize> ExactSizeBuf for audio::wrap::Interleaved<&[T; N]>[src]

impl<T, const N: usize> ExactSizeBuf for audio::wrap::Interleaved<&mut [T; N]>[src]

impl<T, const N: usize> ExactSizeBuf for audio::wrap::Interleaved<[T; N]>[src]

impl<T, const N: usize> ExactSizeBuf for audio::wrap::Sequential<&[T; N]>[src]

impl<T, const N: usize> ExactSizeBuf for audio::wrap::Sequential<&mut [T; N]>[src]

impl<T, const N: usize> ExactSizeBuf for audio::wrap::Sequential<[T; N]>[src]

Loading content...