pub trait RadixKey {
    type Key: Copy + Shl<Output = Self::Key> + Shr<Output = Self::Key> + BitAnd<Output = Self::Key> + BitOrAssign + PartialEq + PartialOrd + Ord + Send + Sync + Display;

    // Required methods
    fn into_keytype(&self) -> Self::Key;
    fn type_size(&self) -> usize;
    fn usize_to_keytype(&self, item: usize) -> Self::Key;
    fn keytype_to_usize(&self, item: Self::Key) -> usize;
    fn default_key(&self) -> Self::Key;
    fn one(&self) -> Self::Key;
}

Required Associated Types§

source

type Key: Copy + Shl<Output = Self::Key> + Shr<Output = Self::Key> + BitAnd<Output = Self::Key> + BitOrAssign + PartialEq + PartialOrd + Ord + Send + Sync + Display

Required Methods§

source

fn into_keytype(&self) -> Self::Key

source

fn type_size(&self) -> usize

source

fn usize_to_keytype(&self, item: usize) -> Self::Key

source

fn keytype_to_usize(&self, item: Self::Key) -> usize

source

fn default_key(&self) -> Self::Key

source

fn one(&self) -> Self::Key

Implementations on Foreign Types§

source§

impl RadixKey for u128

§

type Key = u128

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for char

§

type Key = u32

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for u16

§

type Key = u16

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for i16

§

type Key = u16

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for isize

§

type Key = u64

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for i8

§

type Key = u8

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for i64

§

type Key = u64

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for u32

§

type Key = u32

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for usize

§

type Key = u64

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for u8

§

type Key = u8

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for u64

§

type Key = u64

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for bool

§

type Key = u8

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for i128

§

type Key = u128

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for f32

§

type Key = u32

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for i32

§

type Key = u32

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

source§

impl RadixKey for f64

§

type Key = u64

source§

fn into_keytype(&self) -> Self::Key

source§

fn type_size(&self) -> usize

source§

fn usize_to_keytype(&self, item: usize) -> Self::Key

source§

fn keytype_to_usize(&self, item: Self::Key) -> usize

source§

fn default_key(&self) -> Self::Key

source§

fn one(&self) -> Self::Key

Implementors§