Module slice

Source
Expand description

§Bit-Addressable Memory Regions

This module defines the BitSlice region, which forms the primary export item of the crate. It is a region of memory that addresses each bit individually, and is analogous to the slice language item. See BitSlice’s documentation for information on its use.

The other data structures bitvec offers are built atop BitSlice, and follow the development conventions outlined in this module. Because the API surface for bitvec data structures is so large, they are broken into a number of common submodules:

  • slice defines the BitSlice data structure, its inherent methods that are original to bitvec, as well as some free functions.
  • slice::api defines ports of the impl<T> [T] inherent blocks from core::slice.
  • slice::iter contains all the logic used to iterate across BitSlices, including ports of core::slice iterators.
  • slice::ops contains implementations of core::ops traits that power operator sigils.
  • slice::traits contains all the other trait implementations.
  • slice::tests contains unit tests for BitSlice inherent methods.

Additionally, slice has a submodule unique to it: specialization contains override functions that provide faster behavior on known BitOrder implementations. Since the other data structures Deref to it, they do not need to implement bit-order specializations of their own.

All ports of language or standard-library items have an ## Original section in their documentation that links to the item they are porting, and possibly an ## API Differences that explains why the bitvec item is not a drop-in replacement.

Structs§

BitSlice
Bit-Addressable Memory
BitValIter
An iterator over BitSlice that yields bool directly.
Chunks
Shared Bit-Slice Chunking
ChunksExact
Shared Bit-Slice Exact Chunking
ChunksExactMut
Exclusive Bit-Slice Exact Chunking
ChunksExactMutNoAlias
Anti-Aliasing Iterator Adapter
ChunksMut
Exclusive Bit-Slice Chunking
ChunksMutNoAlias
Anti-Aliasing Iterator Adapter
Iter
Shared Bit-Slice Iteration
IterMut
Exclusive Bit-Slice Iteration
IterMutNoAlias
Anti-Aliasing Iterator Adapter
IterOnes
Bit Seeking
IterZeros
Bit Seeking
RChunks
Shared Bit-Slice Reverse Chunking
RChunksExact
Shared Bit-Slice Reverse Exact Chunking
RChunksExactMut
Exclusive Bit-Slice Reverse Exact Chunking
RChunksExactMutNoAlias
Anti-Aliasing Iterator Adapter
RChunksMut
Exclusive Bit-Slice Chunking
RChunksMutNoAlias
Anti-Aliasing Iterator Adapter
RSplit
Shared Bit-Slice Reverse Splitting
RSplitMut
Exclusive Bit-Slice Reverse Splitting
RSplitMutNoAlias
Anti-Aliasing Iterator Adapter
RSplitN
Shared Bit-Slice Reverse Splitting
RSplitNMut
Exclusive Bit-Slice Reverse Splitting
RSplitNMutNoAlias
Anti-Aliasing Iterator Adapter
Split
Shared Bit-Slice Splitting
SplitInclusive
Shared Bit-Slice Splitting
SplitInclusiveMut
Exclusive Bit-Slice Splitting
SplitInclusiveMutNoAlias
Anti-Aliasing Iterator Adapter
SplitMut
Exclusive Bit-Slice Splitting
SplitMutNoAlias
Anti-Aliasing Iterator Adapter
SplitN
Shared Bit-Slice Splitting
SplitNMut
Exclusive Bit-Slice Splitting
SplitNMutNoAlias
Anti-Aliasing Iterator Adapter
Windows
Bit-Slice Windowing

Traits§

BitSliceIndex
Bit-Slice Indexing

Functions§

from_mutDeprecated
from_raw_parts
Raw Bit-Slice Construction
from_raw_parts_mut
Raw Bit-Slice Construction
from_raw_parts_unchecked
Raw Bit-Slice Construction
from_raw_parts_unchecked_mut
Raw Bit-Slice Construction
from_refDeprecated

Type Aliases§

BitRefIter
An iterator over BitSlice that yields &bool directly.