pub trait Radixable<K: RadixKey>: Copy + PartialOrd {
    type Key: RadixKey + Dispatcher<Self, K>;

Show 22 methods // Required method fn key(&self) -> Self::Key; // Provided methods fn extract( &self, mask: <<Self as Radixable<K>>::Key as RadixKey>::Key, shift: usize ) -> usize { ... } fn into_key_type(&self) -> <<Self as Radixable<K>>::Key as RadixKey>::Key { ... } fn type_size(&self) -> usize { ... } fn usize_to_keytype( &self, item: usize ) -> <<Self as Radixable<K>>::Key as RadixKey>::Key { ... } fn keytype_to_usize( &self, item: <<Self as Radixable<K>>::Key as RadixKey>::Key ) -> usize { ... } fn default_mask( &self, radix: usize ) -> <<Self as Radixable<K>>::Key as RadixKey>::Key { ... } fn get_mask_and_shift( &self, p: &Params ) -> (<<Self as Radixable<K>>::Key as RadixKey>::Key, usize) { ... } fn get_mask_and_shift_from_left( &self, p: &Params ) -> (<<Self as Radixable<K>>::Key as RadixKey>::Key, usize) { ... } fn to_generic(&self, _value: usize) -> Self { ... } fn compute_offset(&self, arr: &mut [Self], radix: usize) -> (usize, usize) { ... } fn get_max_key( &self, arr: &mut [Self] ) -> <<Self as Radixable<K>>::Key as RadixKey>::Key { ... } fn compute_max_level(&self, offset: usize, radix: usize) -> usize { ... } fn default_key(&self) -> <<Self as Radixable<K>>::Key as RadixKey>::Key { ... } fn one(&self) -> <<Self as Radixable<K>>::Key as RadixKey>::Key { ... } fn is_i32(&self) -> bool { ... } fn is_i64(&self) -> bool { ... } fn is_i128(&self) -> bool { ... } fn mask_for_high_bits( &self, radix: usize, offset: usize, max_level: usize ) -> <<Self as Radixable<K>>::Key as RadixKey>::Key { ... } fn get_full_histograms( &self, arr: &mut [Self], p: &Params ) -> Vec<Vec<usize>> { ... } fn voracious_sort(&self, arr: &mut [Self]) { ... } fn voracious_stable_sort(&self, arr: &mut [Self]) { ... }
}

Required Associated Types§

source

type Key: RadixKey + Dispatcher<Self, K>

Required Methods§

source

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

Provided Methods§

source

fn extract( &self, mask: <<Self as Radixable<K>>::Key as RadixKey>::Key, shift: usize ) -> usize

source

fn into_key_type(&self) -> <<Self as Radixable<K>>::Key as RadixKey>::Key

source

fn type_size(&self) -> usize

source

fn usize_to_keytype( &self, item: usize ) -> <<Self as Radixable<K>>::Key as RadixKey>::Key

source

fn keytype_to_usize( &self, item: <<Self as Radixable<K>>::Key as RadixKey>::Key ) -> usize

source

fn default_mask( &self, radix: usize ) -> <<Self as Radixable<K>>::Key as RadixKey>::Key

source

fn get_mask_and_shift( &self, p: &Params ) -> (<<Self as Radixable<K>>::Key as RadixKey>::Key, usize)

source

fn get_mask_and_shift_from_left( &self, p: &Params ) -> (<<Self as Radixable<K>>::Key as RadixKey>::Key, usize)

source

fn to_generic(&self, _value: usize) -> Self

source

fn compute_offset(&self, arr: &mut [Self], radix: usize) -> (usize, usize)

source

fn get_max_key( &self, arr: &mut [Self] ) -> <<Self as Radixable<K>>::Key as RadixKey>::Key

source

fn compute_max_level(&self, offset: usize, radix: usize) -> usize

source

fn default_key(&self) -> <<Self as Radixable<K>>::Key as RadixKey>::Key

source

fn one(&self) -> <<Self as Radixable<K>>::Key as RadixKey>::Key

source

fn is_i32(&self) -> bool

source

fn is_i64(&self) -> bool

source

fn is_i128(&self) -> bool

source

fn mask_for_high_bits( &self, radix: usize, offset: usize, max_level: usize ) -> <<Self as Radixable<K>>::Key as RadixKey>::Key

source

fn get_full_histograms(&self, arr: &mut [Self], p: &Params) -> Vec<Vec<usize>>

source

fn voracious_sort(&self, arr: &mut [Self])

source

fn voracious_stable_sort(&self, arr: &mut [Self])

Implementations on Foreign Types§

source§

impl Radixable<u128> for u128

§

type Key = u128

source§

fn key(&self) -> u128

source§

fn extract(&self, mask: u128, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> u128

source§

fn into_key_type(&self) -> u128

source§

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

source§

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

source§

fn default_key(&self) -> u128

source§

fn one(&self) -> u128

source§

fn voracious_sort(&self, arr: &mut [u128])

source§

fn voracious_stable_sort(&self, arr: &mut [u128])

source§

impl Radixable<i8> for i8

§

type Key = i8

source§

fn key(&self) -> i8

source§

fn extract(&self, mask: u8, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> i8

source§

fn into_key_type(&self) -> u8

source§

fn get_full_histograms(&self, arr: &mut [i8], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [i8])

source§

fn voracious_stable_sort(&self, arr: &mut [i8])

source§

impl Radixable<f32> for f32

§

type Key = f32

source§

fn key(&self) -> f32

source§

fn extract(&self, mask: u32, shift: usize) -> usize

source§

fn into_key_type(&self) -> u32

source§

fn get_full_histograms(&self, arr: &mut [f32], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [f32])

source§

fn voracious_stable_sort(&self, arr: &mut [f32])

source§

impl Radixable<isize> for isize

§

type Key = isize

source§

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

source§

fn extract(&self, mask: u64, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> Self

source§

fn into_key_type(&self) -> u64

source§

fn get_full_histograms(&self, arr: &mut [Self], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [Self])

source§

fn voracious_stable_sort(&self, arr: &mut [Self])

source§

impl Radixable<bool> for bool

§

type Key = bool

source§

fn key(&self) -> bool

source§

fn to_generic(&self, value: usize) -> Self

source§

fn voracious_sort(&self, arr: &mut [bool])

source§

fn voracious_stable_sort(&self, arr: &mut [bool])

source§

impl Radixable<u8> for u8

§

type Key = u8

source§

fn key(&self) -> u8

source§

fn extract(&self, mask: u8, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> u8

source§

fn into_key_type(&self) -> u8

source§

fn get_full_histograms(&self, arr: &mut [u8], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [u8])

source§

fn voracious_stable_sort(&self, arr: &mut [u8])

source§

impl Radixable<f64> for f64

§

type Key = f64

source§

fn key(&self) -> f64

source§

fn extract(&self, mask: u64, shift: usize) -> usize

source§

fn into_key_type(&self) -> u64

source§

fn get_full_histograms(&self, arr: &mut [f64], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [f64])

source§

fn voracious_stable_sort(&self, arr: &mut [f64])

source§

impl Radixable<usize> for usize

§

type Key = usize

source§

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

source§

fn extract(&self, mask: u64, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> Self

source§

fn into_key_type(&self) -> u64

source§

fn get_full_histograms(&self, arr: &mut [Self], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [Self])

source§

fn voracious_stable_sort(&self, arr: &mut [Self])

source§

impl Radixable<u32> for u32

§

type Key = u32

source§

fn key(&self) -> u32

source§

fn extract(&self, mask: u32, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> u32

source§

fn into_key_type(&self) -> u32

source§

fn get_full_histograms(&self, arr: &mut [u32], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [u32])

source§

fn voracious_stable_sort(&self, arr: &mut [u32])

source§

impl Radixable<i128> for i128

§

type Key = i128

source§

fn key(&self) -> i128

source§

fn extract(&self, mask: u128, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> i128

source§

fn into_key_type(&self) -> u128

source§

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

source§

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

source§

fn default_key(&self) -> u128

source§

fn one(&self) -> u128

source§

fn is_i128(&self) -> bool

source§

fn voracious_sort(&self, arr: &mut [i128])

source§

fn voracious_stable_sort(&self, arr: &mut [i128])

source§

impl Radixable<u16> for u16

§

type Key = u16

source§

fn key(&self) -> u16

source§

fn extract(&self, mask: u16, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> u16

source§

fn into_key_type(&self) -> u16

source§

fn get_full_histograms(&self, arr: &mut [u16], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [u16])

source§

fn voracious_stable_sort(&self, arr: &mut [u16])

source§

impl Radixable<i32> for i32

§

type Key = i32

source§

fn key(&self) -> i32

source§

fn extract(&self, mask: u32, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> i32

source§

fn is_i32(&self) -> bool

source§

fn into_key_type(&self) -> u32

source§

fn get_full_histograms(&self, arr: &mut [i32], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [i32])

source§

fn voracious_stable_sort(&self, arr: &mut [i32])

source§

impl Radixable<i16> for i16

§

type Key = i16

source§

fn key(&self) -> i16

source§

fn extract(&self, mask: u16, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> i16

source§

fn into_key_type(&self) -> u16

source§

fn get_full_histograms(&self, arr: &mut [i16], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [i16])

source§

fn voracious_stable_sort(&self, arr: &mut [i16])

source§

impl Radixable<u64> for u64

§

type Key = u64

source§

fn key(&self) -> u64

source§

fn extract(&self, mask: u64, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> u64

source§

fn into_key_type(&self) -> u64

source§

fn get_full_histograms(&self, arr: &mut [u64], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [u64])

source§

fn voracious_stable_sort(&self, arr: &mut [u64])

source§

impl Radixable<char> for char

§

type Key = char

source§

fn key(&self) -> char

source§

fn extract(&self, mask: u32, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> char

source§

fn into_key_type(&self) -> u32

source§

fn get_full_histograms(&self, arr: &mut [char], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [char])

source§

fn voracious_stable_sort(&self, arr: &mut [char])

source§

impl Radixable<i64> for i64

§

type Key = i64

source§

fn key(&self) -> i64

source§

fn extract(&self, mask: u64, shift: usize) -> usize

source§

fn to_generic(&self, v: usize) -> i64

source§

fn is_i64(&self) -> bool

source§

fn into_key_type(&self) -> u64

source§

fn get_full_histograms(&self, arr: &mut [i64], p: &Params) -> Vec<Vec<usize>>

source§

fn voracious_sort(&self, arr: &mut [i64])

source§

fn voracious_stable_sort(&self, arr: &mut [i64])

Implementors§