summaryrefslogtreecommitdiffstats
path: root/src/corelib/doc/snippets/qstring/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/doc/snippets/qstring/main.cpp')
-rw-r--r--src/corelib/doc/snippets/qstring/main.cpp121
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]
}