terminal/src/inc
Leonard Hecker f2386de422
Improve performance and binary size of til::enumset (#11493)
This commit approximately doubles the performance of til::enumset
and reduces it's binary footprint by approximately 1kB.
Most of the binary size can be attributed to exception handling.

Unfortunately this commit removes assertions that the given values are less than
the number of bits in the `underlying_type`. However I believe this to be a good
trade-off as the tests previously only happened at runtime, while tests at
compile time would be highly preferable. Such tests are technically possible,
however MSVC fails to compile (valid) `static_assert`s containing
`static_cast`s over a parameter pack at the time of writing.
With future MSVC versions such checks can be added to this class.

This change was initially discussed in #10492, but was forgotten to
be considered before it was merged. Since the work was already done,
this commit re-introduces the optimization. It's free!

## PR Checklist
* [x] I work here.
* [x] Tests added/passed

## Validation Steps Performed
* Run `printf '\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n'` in WSL
* A wild dotted line appears ✔️
2021-11-23 18:44:58 +00:00
..
CppCoreCheck Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
test Merged PR 6285331: [Git2Git] Merged PR 6278637: Expose attached client process context to cooked read trace 2021-07-22 13:39:34 +00:00
til Improve performance and binary size of til::enumset (#11493) 2021-11-23 18:44:58 +00:00
DefaultSettings.h Reduce usage of Json::Value throughout Terminal.Settings.Model (#11184) 2021-09-22 16:27:31 +00:00
HostAndPropsheetIncludes.h Introduce UiaTextRangeBase::FindText() for Accessibility (#4373) 2020-01-31 23:26:19 +00:00
HostSignals.hpp Persist inbox conhost; delegate control activities to it via a pipe (#10415) 2021-06-16 19:23:37 +00:00
ITerminalOutputConnection.hpp Apply audit mode to TerminalInput/Adapter/Parser libraries (#4005) 2020-01-03 14:25:21 +00:00
ITerminalOwner.hpp Revert locking changes (#3488) 2019-11-08 13:44:52 -08:00
LibraryIncludes.h Persist inbox conhost; delegate control activities to it via a pipe (#10415) 2021-06-16 19:23:37 +00:00
VtIoModes.hpp Remove the WinTelnetEngine (#6526) 2020-06-17 16:29:49 +00:00
WilErrorReporting.h Enable /Zc:preprocessor (#10593) 2021-07-13 23:00:11 +00:00
argb.h add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
conattrs.hpp Consolidate the color palette APIs (#11784) 2021-11-23 18:28:55 +00:00
conime.h Replace basic_string_view<T> with span<const T> (#6921) 2020-07-15 16:40:42 +00:00
conint.h Merged PR 5677497: [Git2Git] Merged PR 5655213: Allow conhost to handoff to registered default app handler 2021-02-11 21:07:50 +00:00
conpty-static.h Implement and action for manually clearing the Terminal (and conpty) buffer (#10906) 2021-09-02 14:59:42 +00:00
conpty.h Implement and action for manually clearing the Terminal (and conpty) buffer (#10906) 2021-09-02 14:59:42 +00:00
consoletaeftemplates.hpp Enable fast floating point model and fast debug linking (#11466) 2021-10-11 21:02:15 +00:00
contsf.h Fix Touch Keyboard invocation issue (#11389) 2021-10-04 14:29:56 +00:00
cpl_core.h Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
operators.hpp Introduce new TIL string helpers, teach older ones to use wmemcmp (#11725) 2021-11-17 23:42:40 +00:00
til.h Add an enum-compatible bitset class. (#10492) 2021-09-27 13:27:29 +00:00
unicode.hpp Prefer constexpr over const across the codebase (#9587) 2021-03-29 16:03:16 +00:00
winrtTaefTemplates.hpp A bunch of test fixes (#9192) 2021-02-18 20:47:14 +00:00