Semantic Bit Index

This type is a counter in the ring 0 .. R::BITS and serves to mark a semantic index within some register element. It is a virtual index, and is the stored value used in pointer encodings to track region start information.

It is translated to a real index through the BitOrder trait. This virtual index is the only counter that can be used for address computation, and once lowered to an electrical index through BitOrder::at, the electrical address can only be used for setting up machine instructions.

Type Parameters

  • R: The register element that this index governs.

Validity

Values of this type are required to be in the range 0 .. R::BITS. Any value not less than R::BITS makes the program invalid, and will likely cause either a crash or incorrect memory access.

Construction

This type can never be constructed outside of the bitvec crate. It is passed in to BitOrder implementations, which may use it to construct electrical position values from it. All values of this type constructed by bitvec are known to be correct in their region; no other construction site can be trusted.