Expand description


This library provides wrappers and additional functionality to make use of a panoply of miscellaneous Linux (and, sometimes, POSIX) features.

See https://github.com/lemonrock/linux-support for far more detail.


Definitions of single byte constants.

Big-endian definitions.

A set of types to support the use of bit sets in Linux APIs and files.

SIMD-accelerated for byte swapping large areas of memory.

A SmallVec-like structure which can be constructed at build time (i.e. has const constructors).

Error support.

Exponents of 2.

Fixed point arithmetic.

Allows the use of slice methods get_unchecked() and get_unchecked_mut() such that when compiling with debug assertions access is checked.

Wrappers around the current best choices for a HashMap and HashSet.

Internet protocol.

Non zero numerics support.

Path utilities.


Compatible implementations of SIMD intrinsics either not written by Intel (but seem as if they should exist) or backwards-compatible implementations of SIMD intrinsics present in later CPU target features (eg a 8-bit popcnt).

Split performance utilities.

String utilities.

Time utilities.

Unsafe initialization of memory.

Vec extensions.


Creates a BitSet.

Bit set aware.

Create a FastSecureHashMap from a list of key-value pairs.

Create a FastSecureHashSet from a list of elements.


A wrapper type to use with mutable static fields where one does not want the overhead and inflexibility of lazy_static!.

Wrapper for variably sized data.


Loads an Atomic* (eg AtomicU8) non-atomically without any synchronization.


Forcing the constraint of T: Copy ensures that we do not need to drop the discarded values (Copy is incompatible with Drop).

Unreachable code.

Unreachable code, suitable for constant functions.