pub trait KeyCodec {
type Key: Clone + Ord + Debug;
// Required methods
fn encoded_len(key: &Self::Key) -> usize;
fn encode_into(key: &Self::Key, out: &mut Vec<u8>);
fn decode_from(bytes: &[u8]) -> Result<Self::Key, Error>;
fn compare_encoded(encoded: &[u8], key: &Self::Key) -> Ordering;
fn cmp_enc_vs_enc(a: &[u8], b: &[u8]) -> Ordering;
}Required Associated Types§
Required Methods§
fn encoded_len(key: &Self::Key) -> usize
fn encode_into(key: &Self::Key, out: &mut Vec<u8>)
fn decode_from(bytes: &[u8]) -> Result<Self::Key, Error>
fn compare_encoded(encoded: &[u8], key: &Self::Key) -> Ordering
fn cmp_enc_vs_enc(a: &[u8], b: &[u8]) -> Ordering
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".