89c4ebaafe
This commit updates JsonUtilsNew to support winrt `Windows::Foundation::IReference<T>` as an option type, and cleans up the optional support code by removing the optional overload on `GetValue(...)`. Instead of using an overload with a partial specialization, we're using a constexpr if with a type trait to determine option-type-ness. In addition, Carlos reported an issue with deriving from `FlagMapper` (itself templated) and referring to the base type's members without fully qualifying them. To make derivation easier, `EnumMapper` and `FlagMapper` now provide `BaseEnumMapper` and `BaseFlagMapper` type aliases. I've taken the opportunity to add a `winrt::hstring` conversion trait. Lastly, in casual use, I found out that I'd written the til::color converter wrong: it supports color strings of length 7 (`#rrggbb`) and length 4 (`#rgb`). I mistyped (and failed to test) support for 4-length color strings by pretending they were only 3 characters long. ## References Merged JsonUtils changes from #6004 and #6590. ## PR Checklist * [x] Unblocks aforementioned PRs * [x] cla * [x] Tests added/passed * [x] Documentation N/A * [x] Schema N/A * [x] Kid tested, mother approved. |
||
---|---|---|
.. | ||
buffer | ||
cascadia | ||
dep | ||
host | ||
inc | ||
interactivity | ||
internal | ||
propsheet | ||
propslib | ||
renderer | ||
server | ||
terminal | ||
testlist | ||
til | ||
tools | ||
tsf | ||
types | ||
winconpty | ||
common.build.post.props | ||
common.build.pre.props | ||
common.build.tests.props | ||
ConsolePerf.regions.xml | ||
ConsolePerf.wprp | ||
cppwinrt.build.post.props | ||
cppwinrt.build.pre.props | ||
dirs | ||
project.inc | ||
project.unittest.inc | ||
StaticAnalysis.ruleset | ||
unit.tests.x64.runsettings | ||
unit.tests.x86.runsettings | ||
wap-common.build.post.props | ||
wap-common.build.pre.props |