From 107ff4c1d6b5da2cb11c65b2bd9106817f7fdb02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Wed, 16 Sep 2020 12:04:31 +0200 Subject: Q(Any|Utf8)StringView: move array size deduction feature to fromArray The constructor taking an array literal will now stop at the first null-terminator encountered. And fromArray is introduced which only supports array literals. Constructs a view of the full size. Explicit so it shouldn't be surprising. Change-Id: I1497c33a5c12453a95e87c990abe6335b2817081 Reviewed-by: Andrei Golubev Reviewed-by: Lars Knoll --- src/corelib/text/qanystringview.qdoc | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'src/corelib/text/qanystringview.qdoc') diff --git a/src/corelib/text/qanystringview.qdoc b/src/corelib/text/qanystringview.qdoc index b3e8baa3f9..31b29fd7a7 100644 --- a/src/corelib/text/qanystringview.qdoc +++ b/src/corelib/text/qanystringview.qdoc @@ -197,11 +197,9 @@ \fn template QAnyStringView::QAnyStringView(const Char (&string)[N]) Constructs a string view on the character string literal \a string. - The length is set to \c{N-1}, excluding the trailing \c{Char(0)}. - If you need the full array, use the constructor from pointer and - size instead: - - \snippet code/src_corelib_text_qanystringview.cpp 2 + The view covers the array until the first \c{Char(0)} is encountered, + or \c N, whichever comes first. + If you need the full array, use fromArray() instead. \a string must remain valid for the lifetime of this string view object. @@ -250,6 +248,27 @@ \sa isNull(), isEmpty(), {Compatible Character Types} */ +/*! + \fn template static QAnyStringView fromArray(const Char (&string)[Size]) noexcept + + Constructs a string view on the full character string literal \a string, + including any trailing \c{Char(0)}. If you don't want the + null-terminator included in the view then you can use the constructor + overload taking a pointer and a size: + + \snippet code/src_corelib_text_qanystringview.cpp 2 + + Alternatively you can use the constructor overload taking an + array literal which will create a view up to, but not including, + the first null-terminator in the data. + + \a string must remain valid for the lifetime of this string view + object. + + This function will work with any array literal if \c Char is a + compatible character type. +*/ + /*! \fn QString QAnyStringView::toString() const -- cgit v1.2.3