Skip to main content

MutableMapKey

Trait MutableMapKey 

Source
pub trait MutableMapKey<'a>:
    Clone
    + Eq
    + Hash {
    // Required methods
    fn decode_key(field: FieldView<'a>) -> Option<Self>;
    fn detect_key(field: FieldView<'a>) -> Option<&'a [u32]>;
    fn encode_key(&self, buffer: &mut Buffer) -> Result<Unit, MutableError>;
    fn key_kind() -> MutableMapKeyKind;
    fn write_key_bytes<'b>(&'b self, scratch: &'b mut [u8; 8]) -> &'b [u8] ;

    // Provided method
    fn borrowed_key_bytes(&self) -> Option<&[u8]> { ... }
}
Expand description

Map-key encoding contract used by MutableMap.

Required Methods§

Source

fn decode_key(field: FieldView<'a>) -> Option<Self>

Source

fn detect_key(field: FieldView<'a>) -> Option<&'a [u32]>

Source

fn encode_key(&self, buffer: &mut Buffer) -> Result<Unit, MutableError>

Source

fn key_kind() -> MutableMapKeyKind

Source

fn write_key_bytes<'b>(&'b self, scratch: &'b mut [u8; 8]) -> &'b [u8]

Provided Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a> MutableMapKey<'a> for String

Source§

fn decode_key(field: FieldView<'a>) -> Option<Self>

Source§

fn detect_key(field: FieldView<'a>) -> Option<&'a [u32]>

Source§

fn encode_key(&self, buffer: &mut Buffer) -> Result<Unit, MutableError>

Source§

fn key_kind() -> MutableMapKeyKind

Source§

fn borrowed_key_bytes(&self) -> Option<&[u8]>

Source§

fn write_key_bytes<'b>(&'b self, _scratch: &'b mut [u8; 8]) -> &'b [u8]

Source§

impl<'a> MutableMapKey<'a> for i32

Source§

fn decode_key(field: FieldView<'a>) -> Option<Self>

Source§

fn detect_key(field: FieldView<'a>) -> Option<&'a [u32]>

Source§

fn encode_key(&self, _buffer: &mut Buffer) -> Result<Unit, MutableError>

Source§

fn key_kind() -> MutableMapKeyKind

Source§

fn write_key_bytes<'b>(&'b self, scratch: &'b mut [u8; 8]) -> &'b [u8]

Source§

impl<'a> MutableMapKey<'a> for i64

Source§

fn decode_key(field: FieldView<'a>) -> Option<Self>

Source§

fn detect_key(field: FieldView<'a>) -> Option<&'a [u32]>

Source§

fn encode_key(&self, _buffer: &mut Buffer) -> Result<Unit, MutableError>

Source§

fn key_kind() -> MutableMapKeyKind

Source§

fn write_key_bytes<'b>(&'b self, scratch: &'b mut [u8; 8]) -> &'b [u8]

Source§

impl<'a> MutableMapKey<'a> for u32

Source§

fn decode_key(field: FieldView<'a>) -> Option<Self>

Source§

fn detect_key(field: FieldView<'a>) -> Option<&'a [u32]>

Source§

fn encode_key(&self, _buffer: &mut Buffer) -> Result<Unit, MutableError>

Source§

fn key_kind() -> MutableMapKeyKind

Source§

fn write_key_bytes<'b>(&'b self, scratch: &'b mut [u8; 8]) -> &'b [u8]

Source§

impl<'a> MutableMapKey<'a> for u64

Source§

fn decode_key(field: FieldView<'a>) -> Option<Self>

Source§

fn detect_key(field: FieldView<'a>) -> Option<&'a [u32]>

Source§

fn encode_key(&self, _buffer: &mut Buffer) -> Result<Unit, MutableError>

Source§

fn key_kind() -> MutableMapKeyKind

Source§

fn write_key_bytes<'b>(&'b self, scratch: &'b mut [u8; 8]) -> &'b [u8]

Implementors§