Crate swiss_army_knife
source · [−]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.
Spin lock.
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.