[][src]Trait floaout::io::write::WriteFmt

pub trait WriteFmt<T, B>: Write {
    fn write_details(&mut self, _: &T) -> Result<()>;
fn write_blocks(&mut self, _: &T, _: B) -> Result<()>; }

This trait writes format.

Required methods

fn write_details(&mut self, _: &T) -> Result<()>

This method writes details of format.

Examples

use std::io;
use std::fs::File;
use floaout::format::bub::Bubble;
use floaout::io::write::WriteFmt;
 
fn main() -> io::Result<()> {
    let mut writer = io::BufWriter::new(File::create("foo.bub")?);
 
    // write Bubble details
    let bub: Bubble = Default::default();
    writer.write_details(&bub)?;
 
    Ok(())
}

fn write_blocks(&mut self, _: &T, _: B) -> Result<()>

This method writes format block

Examples

use std::io;
use std::fs::File;
use floaout::format::BubbleField;
use floaout::format::bub::{Bubble, BubbleBlock, BubbleBlocks};
use floaout::format::wav::WavBlock;
use floaout::io::write::WriteFmt;
 
fn main() -> io::Result<()> {
    let mut writer = io::BufWriter::new(File::create("foo.bub")?);
 
    // write Bubble details
    let bub: Bubble = Default::default();
    writer.write_details(&bub)?;
 
    // Bubble block
    let wav_block1 = WavBlock::from(1.0f32);
    let bub_field_1: BubbleField = vec![vec![vec![0], vec![4]], vec![vec![1], vec![5]], vec![vec![2], vec![6]], vec![vec![3], vec![7]]].into();
    let bub_block_1 = BubbleBlock::from_wav_block_and_bub_field(wav_block1, bub_field_1);
    // Bubble blocks
    let bub_block_vec = vec![bub_block_1];
    let bub_blocks = BubbleBlocks::from(bub_block_vec.into_boxed_slice());
 
    // write Bubble blocks
    writer.write_blocks(&bub, bub_blocks)?;
 
    Ok(())
}
Loading content...

Implementations on Foreign Types

impl<W: Write> WriteFmt<Bubble, BubbleBlocks> for BufWriter<W>[src]

impl<W: Write> WriteFmt<Floaout, FloaoutBlocks> for BufWriter<W>[src]

impl<W: Write> WriteFmt<Wav, WavBlocks> for BufWriter<W>[src]

Loading content...

Implementors

Loading content...