terminal/src/cascadia
Dustin L. Howett 54a7fce3e0
Move to GSL 3.1.0 (#6908)
GSL 3, the next major version of GSL after the one we're using, replaced
their local implementation of `span` with one that more closely mimics
C++20's span. Unfortunately, that is a breaking change for all of GSL's
consumers.

This commit updates our use of span to comply with the new changes in
GSL 3.

Chief among those breaking changes is:

* `span::at` no longer exists; I replaced many instances of `span::at`
  with `gsl::at(x)`
* `span::size_type` has finally given up on `ptrdiff_t` and become
  `size_t` like all other containers

While I was here, I also made the following mechanical replacements:

* In some of our "early standardized" code, we used std::optional's
  `has_value` and `value` back-to-back. Each `value` incurs an
  additional presence test.
  * Change: `x.value().member` -> `x->member` (`optional::operator->`
    skips the presence test)
  * Change: `x.value()` -> `*x` (as above)
* GSL 3 uses `size_t` for `size_type`.
  * Change: `gsl::narrow<size_t>(x.size())` -> `x.size()`
  * Change: `gsl::narrow<ptrdiff_t>(nonSpan.size())` -> `nonSpan.size()`
    during span construction

I also replaced two instances of `x[x.size() - 1]` with `x.back()` and
one instance of a manual array walk (for comparison) with a direct
comparison.

NOTE: Span comparison and `make_span` are not part of the C++20 span
library.

Fixes #6251
2020-07-14 18:30:59 +00:00
..
CascadiaPackage Build and ship an actual binary named wt that just launches WT (#6860) 2020-07-10 22:41:37 +00:00
inc Add support for the Command Palette (#6635) 2020-06-26 20:38:02 +00:00
LocalTests_TerminalApp Remove the rowsToScroll setting and just always use the system setting (#6891) 2020-07-14 01:38:11 +00:00
PublicTerminalCore Refactor the renderer color calculations (#6853) 2020-07-10 22:26:34 +00:00
ShellExtension Make the Shell Extension methods STDMETHODIMP (#6238) 2020-05-28 14:09:52 -07:00
TerminalApp Tweak the Palette's KeyChord for High Contrast mode (#6910) 2020-07-14 16:21:59 +00:00
TerminalAzBridge Fix the build in VS 2019 16.7 (#6838) 2020-07-09 04:10:50 +00:00
TerminalConnection Replace old C headers (xxx.h) with modern ones (cxxx) (#5080) 2020-07-01 11:00:24 -07:00
TerminalControl Remove the rowsToScroll setting and just always use the system setting (#6891) 2020-07-14 01:38:11 +00:00
TerminalCore Move to GSL 3.1.0 (#6908) 2020-07-14 18:30:59 +00:00
TerminalSettings Remove the rowsToScroll setting and just always use the system setting (#6891) 2020-07-14 01:38:11 +00:00
UnitTests_TerminalCore Remove the rowsToScroll setting and just always use the system setting (#6891) 2020-07-14 01:38:11 +00:00
ut_app Move to GSL 3.1.0 (#6908) 2020-07-14 18:30:59 +00:00
WindowsTerminal Add support for focus mode (#6804) 2020-07-13 17:40:20 +00:00
WindowsTerminalUniversal Fix the build in VS 2019 16.7 (#6838) 2020-07-09 04:10:50 +00:00
WinRTUtils Add support for the Command Palette (#6635) 2020-06-26 20:38:02 +00:00
WpfTerminalControl Replace std::map with std::unordered_map (#6640) 2020-06-23 20:49:07 +00:00
WpfTerminalTestNetCore/WpfTerminalTestNetCore Fix 3 different bugs in the WPF control (#6464) 2020-06-11 18:05:43 +00:00
wt Build and ship an actual binary named wt that just launches WT (#6860) 2020-07-10 22:41:37 +00:00
CascadiaResources.build.items Add a new appxmanifest for preview (#5774) 2020-05-07 16:00:56 +00:00