|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
The column of a byte in a plan: its rank in the alphabet, as a table of the 256 bytes the compiler computes once, so that a scan does one load per letter where Ranked would count the letters below it. An entry is the rank plus one, zero for a byte outside the alphabet. A Kleisli arrow into Maybe, as Ranked is, and the same arrow by value.
More...

Public Types | |
| using | Domain = std::byte |
| using | Codomain = Maybe<std::size_t> |
Public Member Functions | |
| constexpr Maybe< std::size_t > | operator() (std::byte b) const |
| constexpr bool | operator== (const Columns &) const =default |
Public Attributes | |
| std::array< std::uint8_t, 256 > | entries {} |
| bool | any {false} |
| whether it has an alphabet at all | |
The column of a byte in a plan: its rank in the alphabet, as a table of the 256 bytes the compiler computes once, so that a scan does one load per letter where Ranked would count the letters below it. An entry is the rank plus one, zero for a byte outside the alphabet. A Kleisli arrow into Maybe, as Ranked is, and the same arrow by value.