aott 0.2.0

Aspect Of The Tokens - a parser combinator framework.
Documentation
macro_rules! define_number_mod {
    ($v:vis $($num:ident),*) => {
            $v mod big {
                $(define_number_mod!(~ from_be_bytes $num);)*
            }
            $v mod native {
                $(define_number_mod!(~ from_ne_bytes $num);)*
            }
            $v mod little {
                $(define_number_mod!(~ from_le_bytes $num);)*
            }
        };
        (~ $from_endian_name:ident $num:ident) => {
                #[doc = concat!("# Errors\nThis parser returns an error if there is not enough bytes to parse a full ", stringify!($num), ".\nThere are no other causes for errors.")]
                pub fn $num<
                        'parse,
                        'a,
                        I: $crate::input::InputType<Token = u8> + $crate::input::SliceInput<'a>,
                        E: $crate::parser::ParserExtras<I>,
                >(
                        input: $crate::input::Input<'parse, I, E>,
                ) -> $crate::error::IResult<'parse, I, E, $num> {
                    use $crate::parser::Parser;
                    let (input, bytes) = $crate::primitive::take_exact::<{core::mem::size_of::<$num>()}>().parse(input)?;
                    Ok((input, $num::$from_endian_name(bytes)))
                }
        };
}

define_number_mod![pub u8, u16, u32, u64, u128, i8, i16, i32, i64, i128];