[][src]Trait bin_buffer::Bufferable

pub trait Bufferable where
    Self: Sized
{ fn into_buffer(self, vec: &mut Buffer);
fn copy_into_buffer(&self, vec: &mut Buffer);
fn from_buffer(buf: &mut ReadBuffer) -> Option<Self>; }

Object can be read and written to a Buffer

Required methods

fn into_buffer(self, vec: &mut Buffer)

Consume yourself and add to the end of the buffer

fn copy_into_buffer(&self, vec: &mut Buffer)

Copy yourself and add to the end of the buffer.

fn from_buffer(buf: &mut ReadBuffer) -> Option<Self>

Read object from buffer

Loading content...

Implementations on Foreign Types

impl Bufferable for u64[src]

Implements Bufferable for u64.

Example

use bin_buffer::*;
let x = 81234u64;
let mut buffer = Vec::new();
x.into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y = u64::from_buffer(&mut buffer);

impl Bufferable for u32[src]

Implements Bufferable for u32.

Example

use bin_buffer::*;
let x = 71u32;
let mut buffer = Vec::new();
x.into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y = u32::from_buffer(&mut buffer);

impl Bufferable for u16[src]

Implements Bufferable for u16.

Example

use bin_buffer::*;
let x = 31u16;
let mut buffer = Vec::new();
x.into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y = u16::from_buffer(&mut buffer);

impl Bufferable for u8[src]

Implements Bufferable for u8.

Example

use bin_buffer::*;
let x = 1u8;
let mut buffer = Vec::new();
x.into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y = u8::from_buffer(&mut buffer);

impl Bufferable for f64[src]

Implements Bufferable for f64.

Example

use bin_buffer::*;
let x = 1.001f64;
let mut buffer = Vec::new();
x.into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y = f64::from_buffer(&mut buffer);

impl Bufferable for f32[src]

Implements Bufferable for f32.

Example

use bin_buffer::*;
let x = 1.001f32;
let mut buffer = Vec::new();
x.into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y = f32::from_buffer(&mut buffer);

impl Bufferable for String[src]

Implements Bufferable for String.

Example

use bin_buffer::*;
let x = String::from("cool and good");
let mut buffer = Vec::new();
x.copy_into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y = String::from_buffer(&mut buffer);

impl<T: Bufferable + Clone> Bufferable for Vec<T>[src]

Implements Bufferable for Vec<Bufferable + Clone>

Example

use bin_buffer::*;
let x = vec![0.0f32,1.0,2.0,3.0,4.0,5.5];
let mut buffer = Vec::new();
x.copy_into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y = Vec::<f32>::from_buffer(&mut buffer);

impl<U: Bufferable + Clone, V: Bufferable + Clone> Bufferable for (U, V)[src]

Implements Bufferable for tuples where all U,V are Bufferable and Clone.

Example

use bin_buffer::*;
let x = (0.0f64,-12345.4321f64);
let mut buffer = Vec::new();
x.into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y =  <(f64,f64)>::from_buffer(&mut buffer);

impl<U: Bufferable + Clone, V: Bufferable + Clone, W: Bufferable + Clone> Bufferable for (U, V, W)[src]

Implements Bufferable for tuples (U,V,W) where all U,V,W are Bufferable and Clone.

Example

use bin_buffer::*;
let x = (0.0f64,-12345.4321f64,9999.0f64);
let mut buffer = Vec::new();
x.into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y= <(f64,f64,f64)>::from_buffer(&mut buffer);

impl<U: Bufferable + Clone, V: Bufferable + Clone, W: Bufferable + Clone, X: Bufferable + Clone> Bufferable for (U, V, W, X)[src]

Implements Bufferable for tuples (U,V,W,X) where all U,V,W,X are Bufferable and Clone.

Example

use bin_buffer::*;
let x = (0.064,-12345.4321,9999.0,-999.0);
let mut buffer = Vec::new();
x.into_buffer(&mut buffer);
let mut buffer = ReadBuffer::from_raw(buffer);
let y= <(f64,f64,f64,f64)>::from_buffer(&mut buffer);
Loading content...

Implementors

Loading content...