string_view versus string_ref
Hi Everyone, I would like to understand the situation with these two templates: basic_string_view and basic_string_ref. The official, advertised library is string_ref: http://www.boost.org/doc/libs/1_64_0/libs/utility/doc/html/string_ref.html At the same time we have string_view: http://www.boost.org/doc/libs/1_64_0/boost/utility/string_view.hpp But the latter is never mentioned in the documentation, except in Boost.Log: (see http://www.boost.org/users/history/version_1_61_0.html) The support for boost::basic_string_ref and its specializations is
deprecated; users are encouraged to switch to boost::basic_string_view. The support for boost::basic_string_ref will be removed in future releases.
My question: is there any official position of Boost about having these two templates? Regards, &rzej;
On 07/06/17 10:46, Andrzej Krzemienski via Boost wrote:
Hi Everyone, I would like to understand the situation with these two templates: basic_string_view and basic_string_ref.
The official, advertised library is string_ref: http://www.boost.org/doc/libs/1_64_0/libs/utility/doc/html/string_ref.html
At the same time we have string_view: http://www.boost.org/doc/libs/1_64_0/boost/utility/string_view.hpp
But the latter is never mentioned in the documentation, except in Boost.Log: (see http://www.boost.org/users/history/version_1_61_0.html)
The support for boost::basic_string_ref and its specializations is
deprecated; users are encouraged to switch to boost::basic_string_view. The support for boost::basic_string_ref will be removed in future releases.
My question: is there any official position of Boost about having these two templates?
My understanding is that string_ref is a legacy implementation and is deprecated. It should be removed at some point. Users should use string_view. The docs seem to need an update though.
My question: is there any official position of Boost about having these two templates?
Marshall said in one of his talks that string_ref is there for the legacy users, string_view is to implement the C++ 17 string_view for modern users. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
On Thu, Jul 6, 2017 at 12:46 AM, Andrzej Krzemienski via Boost < boost@lists.boost.org> wrote:
Hi Everyone, I would like to understand the situation with these two templates: basic_string_view and basic_string_ref.
The official, advertised library is string_ref: http://www.boost.org/doc/libs/1_64_0/libs/utility/doc/html/string_ref.html
At the same time we have string_view: http://www.boost.org/doc/libs/1_64_0/boost/utility/string_view.hpp
But the latter is never mentioned in the documentation, except in Boost.Log: (see http://www.boost.org/users/history/version_1_61_0.html)
The support for boost::basic_string_ref and its specializations is
deprecated; users are encouraged to switch to boost::basic_string_view. The support for boost::basic_string_ref will be removed in future releases.
My question: is there any official position of Boost about having these two templates?
Yes. boost::string_view is the preferred solution; it is closer to std::string_view, and it has significantly more constexpr support. I'd like to remove boost::string_ref at some point in the future. -- Marshall
participants (4)
-
Andrey Semashev
-
Andrzej Krzemienski
-
Marshall Clow
-
Niall Douglas