Trait FieldPackHelper

Source
pub trait FieldPackHelper<'a, T: FieldType<'a>> {
    // Required methods
    fn field_pack_sz(&self, tag: &Tag) -> usize;
    fn field_pack(&self, tag: &Tag, out: &mut [u8]);
}
Expand description

A FieldPackHelper packs a tag and value in the provided space.

For option this may be zero. For vector this may be repeated instances of tag + the contents of the vector.

Required Methods§

Source

fn field_pack_sz(&self, tag: &Tag) -> usize

The size of encoding self with tag.

Source

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Pack the tag into the output buffer.

Implementations on Foreign Types§

Source§

impl FieldPackHelper<'_, Bool> for bool

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, bytes16> for [u8; 16]

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, bytes32> for [u8; 32]

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, bytes64> for [u8; 64]

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, double> for f64

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, fixed32> for u32

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, fixed64> for u64

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, float> for f32

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, int32> for i32

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, int64> for i64

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, sfixed32> for i32

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, sfixed64> for i64

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, sint32> for i32

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, sint64> for i64

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, uint32> for u32

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, uint64> for u64

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl FieldPackHelper<'_, uint64> for usize

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a> FieldPackHelper<'a, bytes<'a>> for &'a [u8]

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a> FieldPackHelper<'a, bytes<'a>> for Vec<u8>

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a> FieldPackHelper<'a, bytes<'a>> for PathBuf

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a> FieldPackHelper<'a, string<'a>> for &'a str

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a> FieldPackHelper<'a, string<'a>> for String

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a> FieldPackHelper<'a, string<'a>> for PathBuf

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a, T, E> FieldPackHelper<'a, message<Result<T, E>>> for Result<T, E>
where T: FieldPackHelper<'a, message<T>> + 'a, E: FieldPackHelper<'a, message<E>> + 'a,

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a, T, F> FieldPackHelper<'a, T> for Option<F>
where T: FieldType<'a>, F: FieldPackHelper<'a, T>,

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a, T, F> FieldPackHelper<'a, T> for Box<F>
where T: FieldType<'a>, F: FieldPackHelper<'a, T>,

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Source§

impl<'a, T, F> FieldPackHelper<'a, T> for Vec<F>
where T: FieldType<'a>, F: FieldPackHelper<'a, T>,

Source§

fn field_pack_sz(&self, tag: &Tag) -> usize

Source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Implementors§