Struct membuffer::MemBufferReader [−][src]
The reader which is used for reading the memory area produced by the writer, Important notice: The reader uses the native endian of the system used therefore sending between big endian and little endian systems wont work
use membuffer::{MemBufferWriter,MemBufferReader}; let mut data = MemBufferWriter::new(); data.add_entry("Add some data to save to file or send over the network"); let data_vec = data.finalize(); let reader = MemBufferReader::new(&data_vec).unwrap(); assert_eq!(reader.load_entry::<&str>(0).unwrap(),"Add some data to save to file or send over the network");
Implementations
impl<'a> MemBufferReader<'a>
[src]
pub fn deserialize_i32_from(mut buffer: &[u8]) -> i32
[src]
Deserialize data from a buffer to an i32 integer
pub fn len(&self) -> usize
[src]
pub fn payload_len(&self) -> usize
[src]
pub fn load_entry<X: MemBufferDeserialize<'a, X> + MemBufferSerialize>(
&self,
key: usize
) -> Result<X, MemBufferError>
[src]
&self,
key: usize
) -> Result<X, MemBufferError>
Load one entry with the given type, expecting the serializable trait as well to determine the integer type, when doing polymorphismus of structures use the same integer for multiple types
pub fn load_serde_entry<T: Deserialize<'a>>(
&self,
key: usize
) -> Result<T, MemBufferError>
[src]
&self,
key: usize
) -> Result<T, MemBufferError>
Loads an entry stored with serde_json and returns it.
pub fn load_recursive_reader(
&self,
key: usize
) -> Result<MemBufferReader<'a>, MemBufferError>
[src]
&self,
key: usize
) -> Result<MemBufferReader<'a>, MemBufferError>
Loads a nested MembufferWriter as reader
pub fn new(val: &'a [u8]) -> Result<MemBufferReader<'a>, MemBufferError>
[src]
Creates a new memory format reader from the given memory slice, as the readed values are borrowed from the memory slice the reader cannot outlive the memory it borrows from
Trait Implementations
impl<'a> Debug for MemBufferReader<'a>
[src]
impl<'a> MemBufferDeserialize<'a, MemBufferReader<'a>> for MemBufferReader<'a>
[src]
fn from_mem_buffer(
pos: &Position,
mem: &'a [u8]
) -> Result<MemBufferReader<'a>, MemBufferError>
[src]
pos: &Position,
mem: &'a [u8]
) -> Result<MemBufferReader<'a>, MemBufferError>
Auto Trait Implementations
impl<'a> RefUnwindSafe for MemBufferReader<'a>
[src]
impl<'a> Send for MemBufferReader<'a>
[src]
impl<'a> Sync for MemBufferReader<'a>
[src]
impl<'a> Unpin for MemBufferReader<'a>
[src]
impl<'a> UnwindSafe for MemBufferReader<'a>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,