Summary
As I mentioned in the comment of issue 1529, std::basic_cstring_view won't be available until C++29. Raising C++/WinRT's minimum standard to C++29 seems quite distant for both v2 and the future v3, so why don't we implement it first? I believe it should at least remain a template, which would facilitate easier migration to the future std::basic_cstring_view. Then, it only needs to implement the functions required by C++/WinRT, such as constructors, comparison operators, etc., to reduce maintenance burden and avoid implementing functions that won't exist in std::basic_cstring_view as much as possible.
Note that the latest C++ proposal is P3655R3. The authors of the two previously parallel proposals have decided to merge them and agreed that the name should be basic_cstring_view, not basic_zstring_view.
Summary
As I mentioned in the comment of issue 1529,
std::basic_cstring_viewwon't be available until C++29. Raising C++/WinRT's minimum standard to C++29 seems quite distant for both v2 and the future v3, so why don't we implement it first? I believe it should at least remain a template, which would facilitate easier migration to the futurestd::basic_cstring_view. Then, it only needs to implement the functions required by C++/WinRT, such as constructors, comparison operators, etc., to reduce maintenance burden and avoid implementing functions that won't exist instd::basic_cstring_viewas much as possible.Note that the latest C++ proposal is P3655R3. The authors of the two previously parallel proposals have decided to merge them and agreed that the name should be
basic_cstring_view, notbasic_zstring_view.