Expand description
Given an unsigned type-level integer, provides access to
the smallest primitive unsigned integer type (u8
, u16
, etc.) that
can represent the integer’s value (or all values less than that value).
This is mainly useful for minimizing memory usage when building data structures.
This crate depends only on core
, so it can be used in no_std
environments.
§Example
use smallest_uint::{SmallestUIntFor, SmallestUIntUpTo};
use std::any::TypeId;
use typenum::U65536;
assert_eq!(TypeId::of::<SmallestUIntUpTo<U65536>>(), TypeId::of::<u16>());
assert_eq!(TypeId::of::<SmallestUIntFor<U65536>>(), TypeId::of::<u32>());
§Crate features
If the feature u128
is enabled, this crate will use the u128
type.
This feature is enabled by default.
Traits§
- GetSmallestU
IntFor - Gets the smallest unsigned integer type capable of representing the value
of
Self
. - GetSmallestU
IntUp To - Gets the smallest unsigned integer type capable of representing all values
up to, but not including, the value of
Self
.
Type Aliases§
- SmallestU
IntFor - Alias of
GetSmallestUIntFor::Type
. - SmallestU
IntUp To - Alias of
GetSmallestUIntUpTo::Type
.