Skip to content

Gets the smallest unsigned integer type that can represent a given value

License

Notifications You must be signed in to change notification settings

taylordotfish/smallest-uint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

smallest-uint

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.

Documentation

Documentation is available on docs.rs.

License

smallest-uint is licensed under version 2 of the Apache License. See LICENSE.

Contributing

By contributing to smallest-uint, you agree that your contribution may be used according to the terms of smallest-uint’s license.

About

Gets the smallest unsigned integer type that can represent a given value

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages