[−][src]Trait sbp::Parser
Represents a parser that can parse a sequency of bytes into a meaningful type.
Associated Types
type Error: OutOfSpaceError
The error that the parsing can result in.
type Meta
An arbitrary additional value provided, this will usually be ()
.
When const generics comes, this probably won't be required.
Required methods
fn parse(
meta: Self::Meta,
bytes: &'a [u8]
) -> Result<(Target, usize), Self::Error>
meta: Self::Meta,
bytes: &'a [u8]
) -> Result<(Target, usize), Self::Error>
Parse bytes. The bytes may or may not have an adequately size for successful parsing, this should be taken into account when implementing a parser.
Implementors
impl<'a> Parser<'a, i128> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i128, usize), Self::Error>
[src]
impl<'a> Parser<'a, i128> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i128, usize), Self::Error>
[src]
impl<'a> Parser<'a, i16> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i16, usize), Self::Error>
[src]
impl<'a> Parser<'a, i16> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i16, usize), Self::Error>
[src]
impl<'a> Parser<'a, i32> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i32, usize), Self::Error>
[src]
impl<'a> Parser<'a, i32> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i32, usize), Self::Error>
[src]
impl<'a> Parser<'a, i64> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i64, usize), Self::Error>
[src]
impl<'a> Parser<'a, i64> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i64, usize), Self::Error>
[src]
impl<'a> Parser<'a, i8> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i8, usize), Self::Error>
[src]
impl<'a> Parser<'a, i8> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(i8, usize), Self::Error>
[src]
impl<'a> Parser<'a, u128> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u128, usize), Self::Error>
[src]
impl<'a> Parser<'a, u128> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u128, usize), Self::Error>
[src]
impl<'a> Parser<'a, u16> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u16, usize), Self::Error>
[src]
impl<'a> Parser<'a, u16> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u16, usize), Self::Error>
[src]
impl<'a> Parser<'a, u32> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u32, usize), Self::Error>
[src]
impl<'a> Parser<'a, u32> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u32, usize), Self::Error>
[src]
impl<'a> Parser<'a, u64> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u64, usize), Self::Error>
[src]
impl<'a> Parser<'a, u64> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u64, usize), Self::Error>
[src]
impl<'a> Parser<'a, u8> for Le
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u8, usize), Self::Error>
[src]
impl<'a> Parser<'a, u8> for Be
[src]
type Error = BasicOutOfSpaceError
type Meta = ()
fn parse(_: Self::Meta, bytes: &'a [u8]) -> Result<(u8, usize), Self::Error>
[src]
impl<'a, P, T> Parser<'a, Vec<T>> for Repeat<P> where
P: Parser<'a, T>,
P::Meta: Default,
[src]
P: Parser<'a, T>,
P::Meta: Default,
type Error = P::Error
type Meta = usize
fn parse(count: usize, bytes: &'a [u8]) -> Result<(Vec<T>, usize), Self::Error>
[src]
impl<'a, T> Parser<'a, T> for Take where
T: From<&'a [u8]>,
[src]
T: From<&'a [u8]>,