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.
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>());
If the feature u128
is enabled, this crate will use the u128
type.
This feature is enabled by default.
Documentation is available on docs.rs.
smallest-uint is licensed under version 2 of the Apache License. See LICENSE.
By contributing to smallest-uint, you agree that your contribution may be used according to the terms of smallest-uint’s license.