|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2024-02-08 15:54:47
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<class Ch, class Tr>
void my_api_function( core::basic_string_view<Ch, Tr> sv );
because it doesn't work either.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk