Expand description

#linux-support

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.

Modules

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.

Random.

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.

Macros

Creates a BitSet.

Bit set aware.

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

Create a FastSecureHashSet from a list of elements.

Structs

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.

Traits

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

Functions

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.