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§
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)
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, )
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.