Trait rax::RaxKey[][src]

pub trait RaxKey<RHS = Self>: Clone + Default + Debug {
    type Output: RaxKey;
    fn encode(self) -> Self::Output;
fn to_buf(&self) -> (*const u8, usize);
fn from_buf(ptr: *const u8, len: usize) -> RHS; }

Same as RaxMap except values are not pointers to heap allocations. Instead the "data pointer" in the RAX is the value. This means we have sizeof worth of bytes to play with. Perhaps, in the future we could create data values of any size, but for now we have the size of pointers to work with or null which has no added size to a rax node.

Associated Types

Required Methods

Implementations on Foreign Types

impl RaxKey for f32
[src]

impl RaxKey for f64
[src]

impl RaxKey for isize
[src]

impl RaxKey for usize
[src]

impl RaxKey for i16
[src]

impl RaxKey for u16
[src]

impl RaxKey for i32
[src]

impl RaxKey for u32
[src]

impl RaxKey for i64
[src]

impl RaxKey for u64
[src]

impl RaxKey for i128
[src]

impl RaxKey for u128
[src]

impl RaxKey for Vec<u8>
[src]

impl<'a> RaxKey for &'a [u8]
[src]

impl<'a> RaxKey for &'a str
[src]

Implementors