File: access.md

package info (click to toggle)
rust-bitvec 1.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 1,780 kB
  • sloc: makefile: 2
file content (22 lines) | stat: -rw-r--r-- 1,043 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Memory Bus Access Management

`bitvec` allows a program to produce handles over memory that do not *logically*
alias their bits, but *may* alias their hardware locations. This module provides
a unified interface for memory accesses that can be specialized to handle such
aliased and unaliased events.

The [`BitAccess`] trait provides capabilities to access individual or clustered
bits in memory elements through shared, maybe-aliased, references. Its
implementations are responsible for coördinating synchronization and contention
as needed.

The [`BitSafe`] trait guards [`Radium`] types in order to forbid writing through
shared-only references, and require access to an `&mut` exclusive reference for
modification. This permits other components in the crate that do *not* have
`BitSafe` reference guards to safely mutate a referent element that a `BitSafe`d
reference can observe, while preventing that reference from emitting mutations
of its own.

[`BitAccess`]: self::BitAccess
[`BitSafe`]: self::BitSafe
[`Radium`]: radium::Radium