diff options
Diffstat (limited to 'src/corelib/doc/snippets/qstring/main.cpp')
-rw-r--r-- | src/corelib/doc/snippets/qstring/main.cpp | 121 |
1 files changed, 28 insertions, 93 deletions
diff --git a/src/corelib/doc/snippets/qstring/main.cpp b/src/corelib/doc/snippets/qstring/main.cpp index 39c4a8045b..8b39ae2f13 100644 --- a/src/corelib/doc/snippets/qstring/main.cpp +++ b/src/corelib/doc/snippets/qstring/main.cpp @@ -1,52 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #include <QtGui> #include <QApplication> @@ -55,7 +8,7 @@ class Widget : public QWidget { public: - Widget(QWidget *parent = 0); + Widget(QWidget *parent = nullptr); void constCharPointer(); void constCharArray(); @@ -85,11 +38,10 @@ public: void isNullFunction(); void isEmptyFunction(); void lastIndexOfFunction(); - void leftFunction(); + void firstFunction(); void leftJustifiedFunction(); - void leftRefFunction(); - void midFunction(); - void midRefFunction(); + void slicedFunction(); + void sliceFunction(); void numberFunction(); void prependFunction(); @@ -97,9 +49,8 @@ public: void replaceFunction(); void reserveFunction(); void resizeFunction(); - void rightFunction(); + void lastFunction(); void rightJustifiedFunction(); - void rightRefFunction(); void sectionFunction(); void setNumFunction(); void simplifiedFunction(); @@ -167,7 +118,7 @@ void Widget::atFunction() //! [3] QString str; - for (int i = 0; i < str.size(); ++i) { + for (qsizetype i = 0; i < str.size(); ++i) { if (str.at(i) >= QChar('a') && str.at(i) <= QChar('f')) qDebug() << "Found character in range [a-f]"; } @@ -200,7 +151,7 @@ void Widget::index() { //! [6] QString str = "We must be <b>bold</b>, very <b>bold</b>"; - int j = 0; + qsizetype j = 0; while ((j = str.indexOf("<b>", j)) != -1) { qDebug() << "Found <b> tag at index position" << j; @@ -396,7 +347,7 @@ void Widget::fromRawDataFunction() static const QChar unicode[] = { 0x005A, 0x007F, 0x00A4, 0x0060, 0x1009, 0x0020, 0x0020}; - int size = sizeof(unicode) / sizeof(QChar); + qsizetype size = sizeof(unicode) / sizeof(QChar); QString str = QString::fromRawData(unicode, size); if (str.contains(pattern) { @@ -481,11 +432,11 @@ void Widget::lastIndexOfFunction() //! [94] } -void Widget::leftFunction() +void Widget::firstFunction() { //! [31] QString x = "Pineapple"; - QString y = x.left(4); // y == "Pine" + QString y = x.first(4); // y == "Pine" //! [31] } @@ -502,12 +453,12 @@ void Widget::leftJustifiedFunction() //! [33] } -void Widget::midFunction() +void Widget::slicedFunction() { //! [34] QString x = "Nine pineapples"; - QString y = x.mid(5, 4); // y == "pine" - QString z = x.mid(5); // z == "pineapples" + QString y = x.sliced(5, 4); // y == "pine" + QString z = x.sliced(5); // z == "pineapples" //! [34] } @@ -589,7 +540,7 @@ void Widget::reserveFunction() { //! [44] QString result; - int maxSize; + qsizetype maxSize; bool condition; QChar nextChar; @@ -626,11 +577,11 @@ void Widget::resizeFunction() //! [47] } -void Widget::rightFunction() +void Widget::lastFunction() { //! [48] QString x = "Pineapple"; - QString y = x.right(5); // y == "apple" + QString y = x.last(5); // y == "apple" //! [48] } @@ -703,7 +654,7 @@ void Widget::sizeFunction() { //! [58] QString str = "World"; - int n = str.size(); // n == 5 + qsizetype n = str.size(); // n == 5 str.data()[0]; // returns 'W' str.data()[4]; // returns 'd' //! [58] @@ -738,10 +689,10 @@ void Widget::splitCaseSensitiveFunction() //! [62] QString str = QStringLiteral("a,,b,c"); - QStringList list1 = str.split(QLatin1Char(',')); + QStringList list1 = str.split(u','); // list1: [ "a", "", "b", "c" ] - QStringList list2 = str.split(QLatin1Char(','), Qt::SkipEmptyParts); + QStringList list2 = str.split(u',', Qt::SkipEmptyParts); // list2: [ "a", "b", "c" ] //! [62] @@ -753,7 +704,7 @@ void Widget::splitCaseSensitiveFunction() //! [62-slashes] QString str = "/a/b/c/"; - auto parts = str.split(QLatin1Char('/')); + auto parts = str.split(u'/'); // parts: {"", "a", "b", "c", ""} //! [62-slashes] } @@ -959,29 +910,13 @@ void Widget::arrayOperator() //! [85] } -void Widget::midRefFunction() +void Widget::sliceFunction() { - //! [midRef] - QString x = "Nine pineapples"; - QStringRef y = x.midRef(5, 4); // y == "pine" - QStringRef z = x.midRef(5); // z == "pineapples" - //! [midRef] -} - -void Widget::leftRefFunction() -{ - //! [leftRef] - QString x = "Pineapple"; - QStringRef y = x.leftRef(4); // y == "Pine" - //! [leftRef] -} - -void Widget::rightRefFunction() -{ - //! [rightRef] - QString x = "Pineapple"; - QStringRef y = x.rightRef(5); // y == "apple" - //! [rightRef] + //! [86] + QString x = u"Nine pineapples"_s; + x.slice(5); // x == "pineapples" + x.slice(4, 3); // x == "app" + //! [86] } |