Date: Fri, 03 Aug 2018 22:55:00 +0000
So I'm reading p0224r2 again and found this line:
using text_view = basic_text_view<execution_character_encoding,
/* implementation-defined */ >;
Is it really needed? C++17 added class template argument deduction and
we can use deduction guides to properly instantiate what is now a
basic_text_view. There are make_text_view helpers but I think they are
not needed for most use cases. Consider:
std::text_view tv{u8"Hello"};
This should be what people write in their code, that would deduce UTF-8
view assuming char8_t is in the standard and we use C++17 CTAD.
More importantly, text_view having execution_character_encoding makes
this encoding have more weight to it, especially for beginners. We all
know that in practice working with execution character set is basically
a nightmare, we shouldn't put in on a forefront of text processing.
using text_view = basic_text_view<execution_character_encoding,
/* implementation-defined */ >;
Is it really needed? C++17 added class template argument deduction and
we can use deduction guides to properly instantiate what is now a
basic_text_view. There are make_text_view helpers but I think they are
not needed for most use cases. Consider:
std::text_view tv{u8"Hello"};
This should be what people write in their code, that would deduce UTF-8
view assuming char8_t is in the standard and we use C++17 CTAD.
More importantly, text_view having execution_character_encoding makes
this encoding have more weight to it, especially for beginners. We all
know that in practice working with execution character set is basically
a nightmare, we shouldn't put in on a forefront of text processing.
Received on 2018-08-04 00:55:52