[−][src]Trait persia_speedy::Readable
Required methods
Loading content...Provided methods
fn minimum_bytes_needed() -> usize
fn read_from_buffer(buffer: &'a [u8]) -> Result<Self, C::Error> where
Self: DefaultContext<Context = C>,
C: Default,
Self: DefaultContext<Context = C>,
C: Default,
fn read_with_length_from_buffer(
buffer: &'a [u8]
) -> (Result<Self, C::Error>, usize) where
Self: DefaultContext<Context = C>,
C: Default,
buffer: &'a [u8]
) -> (Result<Self, C::Error>, usize) where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_buffer_owned(buffer: &[u8]) -> Result<Self, C::Error> where
Self: DefaultContext<Context = C>,
C: Default,
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_stream_unbuffered(stream: impl Read) -> Result<Self, C::Error> where
Self: DefaultContext<Context = C>,
C: Default,
Self: DefaultContext<Context = C>,
C: Default,
Reads from a given stream without any buffering.
This will only read what is necessary from the stream to deserialize a given type, but is going to be slow.
Use read_from_stream_buffered
if you need
to read from a stream and you don't care about not overreading.
fn read_from_stream_buffered(stream: impl Read) -> Result<Self, C::Error> where
Self: DefaultContext<Context = C>,
C: Default,
Self: DefaultContext<Context = C>,
C: Default,
Reads from a given stream with internal buffering.
This will read more data from the stream than is necessary to deserialize a given type, however it should be orders of magnitude faster than unbuffered streaming, especially when reading relatively complex objects.
Use the slower read_from_stream_unbuffered
if you want
to avoid overreading.
fn read_from_file(path: impl AsRef<Path>) -> Result<Self, C::Error> where
Self: DefaultContext<Context = C>,
C: Default,
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_buffer_with_ctx(
context: C,
buffer: &'a [u8]
) -> Result<Self, C::Error>
context: C,
buffer: &'a [u8]
) -> Result<Self, C::Error>
fn read_with_length_from_buffer_with_ctx(
context: C,
buffer: &'a [u8]
) -> (Result<Self, C::Error>, usize)
context: C,
buffer: &'a [u8]
) -> (Result<Self, C::Error>, usize)
fn read_from_buffer_owned_with_ctx(
context: C,
buffer: &[u8]
) -> Result<Self, C::Error>
context: C,
buffer: &[u8]
) -> Result<Self, C::Error>
fn read_from_stream_unbuffered_with_ctx<S: Read>(
context: C,
stream: S
) -> Result<Self, C::Error>
context: C,
stream: S
) -> Result<Self, C::Error>
fn read_from_stream_buffered_with_ctx<S: Read>(
context: C,
stream: S
) -> Result<Self, C::Error>
context: C,
stream: S
) -> Result<Self, C::Error>
fn read_from_file_with_ctx(
context: C,
path: impl AsRef<Path>
) -> Result<Self, C::Error>
context: C,
path: impl AsRef<Path>
) -> Result<Self, C::Error>
Implementations on Foreign Types
impl<'a, C, K, V> Readable<'a, C> for BTreeMap<K, V> where
C: Context,
K: Readable<'a, C> + Ord,
V: Readable<'a, C>,
[src]
C: Context,
K: Readable<'a, C> + Ord,
V: Readable<'a, C>,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T> Readable<'a, C> for BTreeSet<T> where
C: Context,
T: Readable<'a, C> + Ord,
[src]
C: Context,
T: Readable<'a, C> + Ord,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, K, V, S> Readable<'a, C> for HashMap<K, V, S> where
C: Context,
K: Readable<'a, C> + Eq + Hash,
V: Readable<'a, C>,
S: BuildHasher + Default,
[src]
C: Context,
K: Readable<'a, C> + Eq + Hash,
V: Readable<'a, C>,
S: BuildHasher + Default,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T, S> Readable<'a, C> for HashSet<T, S> where
C: Context,
T: Readable<'a, C> + Eq + Hash,
S: BuildHasher + Default,
[src]
C: Context,
T: Readable<'a, C> + Eq + Hash,
S: BuildHasher + Default,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for bool
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for char
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for i8
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for i16
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for i32
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for i64
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for u8
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for u16
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for u32
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for u64
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for f32
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for f64
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for usize
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for String
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for Cow<'a, str>
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, T: Readable<'a, C>> Readable<'a, C> for Vec<T>
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, T: Readable<'a, C>> Readable<'a, C> for Cow<'a, [T]> where
[T]: ToOwned<Owned = Vec<T>>,
[src]
[T]: ToOwned<Owned = Vec<T>>,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, T: Readable<'a, C>, V: Readable<'a, C>> Readable<'a, C> for Result<T, V>
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, T: Readable<'a, C>> Readable<'a, C> for Range<T>
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, T: Readable<'a, C>> Readable<'a, C> for Option<T>
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for ()
[src]
fn read_from<R: Reader<'a, C>>(_: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>> Readable<'a, C> for (A0,)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>> Readable<'a, C> for (A0, A1)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>, A2: Readable<'a, C>> Readable<'a, C> for (A0, A1, A2)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>, A2: Readable<'a, C>, A3: Readable<'a, C>> Readable<'a, C> for (A0, A1, A2, A3)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>, A2: Readable<'a, C>, A3: Readable<'a, C>, A4: Readable<'a, C>> Readable<'a, C> for (A0, A1, A2, A3, A4)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>, A2: Readable<'a, C>, A3: Readable<'a, C>, A4: Readable<'a, C>, A5: Readable<'a, C>> Readable<'a, C> for (A0, A1, A2, A3, A4, A5)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>, A2: Readable<'a, C>, A3: Readable<'a, C>, A4: Readable<'a, C>, A5: Readable<'a, C>, A6: Readable<'a, C>> Readable<'a, C> for (A0, A1, A2, A3, A4, A5, A6)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>, A2: Readable<'a, C>, A3: Readable<'a, C>, A4: Readable<'a, C>, A5: Readable<'a, C>, A6: Readable<'a, C>, A7: Readable<'a, C>> Readable<'a, C> for (A0, A1, A2, A3, A4, A5, A6, A7)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>, A2: Readable<'a, C>, A3: Readable<'a, C>, A4: Readable<'a, C>, A5: Readable<'a, C>, A6: Readable<'a, C>, A7: Readable<'a, C>, A8: Readable<'a, C>> Readable<'a, C> for (A0, A1, A2, A3, A4, A5, A6, A7, A8)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>, A2: Readable<'a, C>, A3: Readable<'a, C>, A4: Readable<'a, C>, A5: Readable<'a, C>, A6: Readable<'a, C>, A7: Readable<'a, C>, A8: Readable<'a, C>, A9: Readable<'a, C>> Readable<'a, C> for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context, A0: Readable<'a, C>, A1: Readable<'a, C>, A2: Readable<'a, C>, A3: Readable<'a, C>, A4: Readable<'a, C>, A5: Readable<'a, C>, A6: Readable<'a, C>, A7: Readable<'a, C>, A8: Readable<'a, C>, A9: Readable<'a, C>, A10: Readable<'a, C>> Readable<'a, C> for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for NonZeroU32
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for AtomicI8
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for AtomicI16
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for AtomicI32
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for AtomicI64
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for AtomicU8
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for AtomicU16
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for AtomicU32
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C: Context> Readable<'a, C> for AtomicU64
[src]
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C> Readable<'a, C> for Ipv4Addr where
C: Context,
[src]
C: Context,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C> Readable<'a, C> for Ipv6Addr where
C: Context,
[src]
C: Context,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C> Readable<'a, C> for IpAddr where
C: Context,
[src]
C: Context,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C> Readable<'a, C> for Duration where
C: Context,
[src]
C: Context,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C> Readable<'a, C> for SystemTime where
C: Context,
[src]
C: Context,
fn read_from<R: Reader<'a, C>>(reader: &mut R) -> Result<Self, C::Error>
[src]
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T> Readable<'a, C> for [T; 1] where
C: Context,
T: Readable<'a, C>,
[src]
C: Context,
T: Readable<'a, C>,
fn read_from<R>(reader: &mut R) -> Result<Self, C::Error> where
R: Reader<'a, C>,
[src]
R: Reader<'a, C>,
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T> Readable<'a, C> for [T; 2] where
C: Context,
T: Readable<'a, C>,
[src]
C: Context,
T: Readable<'a, C>,
fn read_from<R>(reader: &mut R) -> Result<Self, C::Error> where
R: Reader<'a, C>,
[src]
R: Reader<'a, C>,
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T> Readable<'a, C> for [T; 3] where
C: Context,
T: Readable<'a, C>,
[src]
C: Context,
T: Readable<'a, C>,
fn read_from<R>(reader: &mut R) -> Result<Self, C::Error> where
R: Reader<'a, C>,
[src]
R: Reader<'a, C>,
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T> Readable<'a, C> for [T; 4] where
C: Context,
T: Readable<'a, C>,
[src]
C: Context,
T: Readable<'a, C>,
fn read_from<R>(reader: &mut R) -> Result<Self, C::Error> where
R: Reader<'a, C>,
[src]
R: Reader<'a, C>,
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T> Readable<'a, C> for [T; 5] where
C: Context,
T: Readable<'a, C>,
[src]
C: Context,
T: Readable<'a, C>,
fn read_from<R>(reader: &mut R) -> Result<Self, C::Error> where
R: Reader<'a, C>,
[src]
R: Reader<'a, C>,
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T> Readable<'a, C> for [T; 6] where
C: Context,
T: Readable<'a, C>,
[src]
C: Context,
T: Readable<'a, C>,
fn read_from<R>(reader: &mut R) -> Result<Self, C::Error> where
R: Reader<'a, C>,
[src]
R: Reader<'a, C>,
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T> Readable<'a, C> for [T; 7] where
C: Context,
T: Readable<'a, C>,
[src]
C: Context,
T: Readable<'a, C>,
fn read_from<R>(reader: &mut R) -> Result<Self, C::Error> where
R: Reader<'a, C>,
[src]
R: Reader<'a, C>,
fn minimum_bytes_needed() -> usize
[src]
impl<'a, C, T> Readable<'a, C> for [T; 8] where
C: Context,
T: Readable<'a, C>,
[src]
C: Context,
T: Readable<'a, C>,
fn read_from<R>(reader: &mut R) -> Result<Self, C::Error> where
R: Reader<'a, C>,
[src]
R: Reader<'a, C>,