Andrey Semashev wrote:
On 2/8/24 18:14, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
Which they are not, as boost::core::string_view doesn't support char_traits. So it looks like a non-starter to me.
Do you really need or support traits other than std::char_traits<Ch>? Why and where?
It's not that I need it. It's that std::basic_string(_view) are defined this way (for better or worse), and for our string_view to properly emulate and inperoperate with std::string_view, it should have it as well.
That's not true at all.
You're not winning anything by not supporting it either as you're using std::char_traits internally anyway.
core::string_view is intended to be used in this manner:
void my_api_function( core::string_view sv );
which then allows the user to pass std::string, std::string_view,
boost::string_view.
It's not intended to be used in this manner
template<class Ch>
void my_api_function( core::basic_string_view<Ch> sv );
because then conversions don't work.
There is no benefit in also supporting
template