terminal/src/inc/til
James Holderness 09d0ac768a
Add an enum-compatible bitset class. (#10492)
## Summary of the Pull Request

This introduces a new TIL class that is equivalent in functionality to a `std::bitset`, but where the positions in the bitset are enum values. It also has a few additional methods allowing for setting and testing multiple positions at the same time. The idea is that this class could be used in place of the `WI_SetFlag` and `WI_IsFlagSet` macros when working with sets of flags.

## PR Checklist
* [x] Closes #10432
* [x] CLA signed.
* [x] Tests added/passed
* [ ] Documentation updated.
* [ ] Schema updated.
* [x] I've discussed this with core contributors already. Issue number where discussion took place: #10432

## Validation Steps Performed

I've added a few unit tests that verify the behaviour of all the new methods that aren't part of `std::bitset`. I've also tried it out as a replacement for the `GridLines` enum used in the renderer, and confirmed that it has all the functionality needed to replace that cleanly.
2021-09-27 13:27:29 +00:00
..
at.h Add support for more OSC color formats (#7578) 2020-10-14 17:29:10 -07:00
atomic.h Fix output stuttering using a ticket lock (#10653) 2021-07-14 23:41:22 +00:00
bitmap.h Eliminate more transient allocations: Titles and invalid rectangles and bitmap runs and utf8 conversions (#8621) 2021-02-16 20:52:33 +00:00
coalesce.h Make Global and Profile settings inheritable (#7923) 2020-10-27 17:35:09 +00:00
color.h Reduce usage of Json::Value throughout Terminal.Settings.Model (#11184) 2021-09-22 16:27:31 +00:00
enumset.h Add an enum-compatible bitset class. (#10492) 2021-09-27 13:27:29 +00:00
latch.h Introduce til/latch.h, til/mutex.h and til/throttled_func.h (#10403) 2021-06-22 20:16:31 +00:00
math.h add til::math, use it for float conversions to point, size (#5150) 2020-03-27 22:48:49 +00:00
mutex.h Introduce til/latch.h, til/mutex.h and til/throttled_func.h (#10403) 2021-06-22 20:16:31 +00:00
operators.h Render row-by-row instead of invalidating entire screen (#5185) 2020-04-13 20:09:02 +00:00
pmr.h Merged PR 5770253: [Git2Git] Merged PR 5760120: Add propsheet chooser to Windows 2021-03-10 01:19:04 +00:00
point.h Only access ControlInteractivity through the projection (#10051) 2021-07-19 11:59:30 -05:00
rectangle.h Only access ControlInteractivity through the projection (#10051) 2021-07-19 11:59:30 -05:00
replace.h Fix typo in replace.h (#9679) 2021-04-06 10:38:51 -05:00
rle.h rle: fix build with clang by adding a deduction guide (#10154) 2021-05-24 13:33:43 +00:00
size.h Make the window name _quake special (#9785) 2021-04-26 19:36:23 +00:00
some.h
spsc.h Fix #8695: til::spsc assignment operators don't return anything (#8811) 2021-01-19 11:41:08 +00:00
static_map.h Clean up KeyChordSerialization (#10654) 2021-07-14 21:22:24 +00:00
string.h Introduce vk() and sc() key chord specifiers (#10666) 2021-07-20 22:34:51 +00:00
throttled_func.h Introduce til/latch.h, til/mutex.h and til/throttled_func.h (#10403) 2021-06-22 20:16:31 +00:00
ticket_lock.h Fix output stuttering using a ticket lock (#10653) 2021-07-14 23:41:22 +00:00
u8u16convert.h Refactor u8u16 and u16u8 conversion functions (#10966) 2021-08-23 23:48:13 +00:00