Skip to content

Conversation

@F1r3d3v
Copy link
Collaborator

@F1r3d3v F1r3d3v commented Dec 15, 2025

Introduces a new BitField utility for defining and accessing bitfields with named, type-safe fields.
Enhances BitArray with GetRange and SetRange methods to efficiently manipulate bit ranges, including boundary-crossing scenarios. These methods are fundamental for BitField's internal storage.
Adds std::bit_cast for safe reinterpretation of object representations, enabling BitField to convert to/from raw integer types.
Includes new internal macros to support the CREATE_BITFIELD macro.
Adds comprehensive tests for both BitArray range operations and the new BitField utility.

Introduces a `BitField` data structure, enabling type-safe access to
named bit fields within an integer-backed structure via the
`CREATE_BITFIELD` macro.

Enhances `BitArray` with `GetRange` and `SetRange` methods, crucial
for efficient bit manipulation within `BitField`.

Adds `std::bit_cast` and internal macro utilities to support the
new bitfield implementation. Includes comprehensive tests.
@F1r3d3v F1r3d3v merged commit 4cf26fb into dev Dec 16, 2025
4 checks passed
@F1r3d3v F1r3d3v deleted the f1r3d3v/bitfields branch December 16, 2025 01:25
Jlisowskyy pushed a commit that referenced this pull request Jan 7, 2026
Introduces a new `BitField` utility for defining and accessing bitfields
with named, type-safe fields.
Enhances `BitArray` with `GetRange` and `SetRange` methods to
efficiently manipulate bit ranges, including boundary-crossing
scenarios. These methods are fundamental for `BitField`'s internal
storage.
Adds `std::bit_cast` for safe reinterpretation of object
representations, enabling `BitField` to convert to/from raw integer
types.
Includes new internal macros to support the `CREATE_BITFIELD` macro.
Adds comprehensive tests for both `BitArray` range operations and the
new `BitField` utility.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants