Encode

Trait Encode 

Source
pub trait Encode {
Show 21 methods // Required methods fn encode_float(&mut self, n: f32); fn encode_double(&mut self, n: f64); fn encode_varint(&mut self, n: u64); fn encode_int32(&mut self, n: i32); fn encode_int64(&mut self, n: i64); fn encode_uint32(&mut self, n: u32); fn encode_uint64(&mut self, n: u64); fn encode_sint32(&mut self, n: i32); fn encode_sint64(&mut self, n: i64); fn encode_fixed32(&mut self, n: u32); fn encode_fixed64(&mut self, n: u64); fn encode_sfixed32(&mut self, n: i32); fn encode_sfixed64(&mut self, n: i64); fn encode_bool(&mut self, b: bool); fn encode_bytes(&mut self, b: &[u8]); fn encode_str(&mut self, s: &str); fn encode_type(&mut self, msg: &impl PbType); // Provided methods fn encode_string(&mut self, s: String) { ... } fn encode_nested(&mut self, msg: &impl PbType) where Self: Sized { ... } fn encode_packed<M, F, FS>( &mut self, items: &[M], encode_fn: F, size_fn: FS, ) where M: Clone, F: FnMut(&mut Self, M), FS: FnMut(&mut SizeHint, M) { ... } fn encode_map_element<K, V, FK, FV, FSK, FSV>( &mut self, key: K, value: V, key_wire_type: u8, value_wire_type: u8, key_encode_fn: FK, value_encode_fn: FV, key_size_fn: FSK, value_size_fn: FSV, ) where K: Clone, FK: FnMut(&mut Self, K), FSK: FnMut(&mut SizeHint, K), V: Clone, FV: FnMut(&mut Self, V), FSV: FnMut(&mut SizeHint, V) { ... }
}
Expand description

main encode trait, currently implement for anything that implements bytes::BufMut and SizeHint

Required Methods§

Source

fn encode_float(&mut self, n: f32)

Source

fn encode_double(&mut self, n: f64)

Source

fn encode_varint(&mut self, n: u64)

Source

fn encode_int32(&mut self, n: i32)

Source

fn encode_int64(&mut self, n: i64)

Source

fn encode_uint32(&mut self, n: u32)

Source

fn encode_uint64(&mut self, n: u64)

Source

fn encode_sint32(&mut self, n: i32)

Source

fn encode_sint64(&mut self, n: i64)

Source

fn encode_fixed32(&mut self, n: u32)

Source

fn encode_fixed64(&mut self, n: u64)

Source

fn encode_sfixed32(&mut self, n: i32)

Source

fn encode_sfixed64(&mut self, n: i64)

Source

fn encode_bool(&mut self, b: bool)

Source

fn encode_bytes(&mut self, b: &[u8])

Source

fn encode_str(&mut self, s: &str)

Source

fn encode_type(&mut self, msg: &impl PbType)

Provided Methods§

Source

fn encode_string(&mut self, s: String)

Source

fn encode_nested(&mut self, msg: &impl PbType)
where Self: Sized,

Source

fn encode_packed<M, F, FS>(&mut self, items: &[M], encode_fn: F, size_fn: FS)
where M: Clone, F: FnMut(&mut Self, M), FS: FnMut(&mut SizeHint, M),

Source

fn encode_map_element<K, V, FK, FV, FSK, FSV>( &mut self, key: K, value: V, key_wire_type: u8, value_wire_type: u8, key_encode_fn: FK, value_encode_fn: FV, key_size_fn: FSK, value_size_fn: FSV, )
where K: Clone, FK: FnMut(&mut Self, K), FSK: FnMut(&mut SizeHint, K), V: Clone, FV: FnMut(&mut Self, V), FSV: FnMut(&mut SizeHint, V),

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Encode for SizeHint

Source§

impl<T> Encode for T
where T: BufMut,