123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 | // Copyright (C) 2020 The Qt Company Ltd.// Copyright (C) 2016 Intel Corporation.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#include <QtCore/qlist.h>#ifndef QSTRINGLIST_H#define QSTRINGLIST_H#include <QtCore/qalgorithms.h>#include <QtCore/qcontainertools_impl.h>#include <QtCore/qstring.h>#include <QtCore/qstringmatcher.h> QT_BEGIN_NAMESPACE class QLatin1StringMatcher;class QRegularExpression;#if !defined(QT_NO_JAVA_STYLE_ITERATORS)using QStringListIterator = QListIterator<QString>;using QMutableStringListIterator = QMutableListIterator<QString>;#endifnamespace QtPrivate {void Q_CORE_EXPORT QStringList_sort(QStringList *that,Qt::CaseSensitivity cs); qsizetype Q_CORE_EXPORT QStringList_removeDuplicates(QStringList *that); QString Q_CORE_EXPORT QStringList_join(const QStringList *that, QStringView sep); QString Q_CORE_EXPORT QStringList_join(const QStringList *that,const QChar *sep, qsizetype seplen); Q_CORE_EXPORT QString QStringList_join(const QStringList &list, QLatin1StringView sep); QStringList Q_CORE_EXPORT QStringList_filter(const QStringList *that, QStringView str,Qt::CaseSensitivity cs); Q_CORE_EXPORT QStringList QStringList_filter(const QStringList &that, QLatin1StringView needle,Qt::CaseSensitivity cs); Q_CORE_EXPORT QStringList QStringList_filter(const QStringList &that,const QStringMatcher &matcher); Q_CORE_EXPORT QStringList QStringList_filter(const QStringList &that,const QLatin1StringMatcher &matcher);bool Q_CORE_EXPORT QStringList_contains(const QStringList *that, QStringView str,Qt::CaseSensitivity cs);bool Q_CORE_EXPORT QStringList_contains(const QStringList *that, QLatin1StringView str,Qt::CaseSensitivity cs);void Q_CORE_EXPORT QStringList_replaceInStrings(QStringList *that, QStringView before, QStringView after,Qt::CaseSensitivity cs); qsizetype Q_CORE_EXPORT QStringList_indexOf(const QStringList &that, QStringView str, qsizetype from,Qt::CaseSensitivity cs); qsizetype Q_CORE_EXPORT QStringList_indexOf(const QStringList &that, QLatin1StringView str, qsizetype from,Qt::CaseSensitivity cs); Q_CORE_EXPORT qsizetype QStringList_lastIndexOf(const QStringList &that, QStringView str, qsizetype from,Qt::CaseSensitivity cs); Q_CORE_EXPORT qsizetype QStringList_lastIndexOf(const QStringList &that, QLatin1StringView str, qsizetype from,Qt::CaseSensitivity cs);#if QT_CONFIG(regularexpression)void Q_CORE_EXPORT QStringList_replaceInStrings(QStringList *that,const QRegularExpression &rx,const QString &after); QStringList Q_CORE_EXPORT QStringList_filter(const QStringList *that,const QRegularExpression &re); qsizetype Q_CORE_EXPORT QStringList_indexOf(const QStringList *that,const QRegularExpression &re, qsizetype from); qsizetype Q_CORE_EXPORT QStringList_lastIndexOf(const QStringList *that,const QRegularExpression &re, qsizetype from);#endif// QT_CONFIG(regularexpression)}#ifdef Q_QDOCclass QStringList :public QList<QString>#elsetemplate<>struct QListSpecialMethods<QString> : QListSpecialMethodsBase<QString>#endif{#ifdef Q_QDOCpublic:using QList<QString>::QList;QStringList(const QString &str);QStringList(const QList<QString> &other);QStringList(QList<QString> &&other); QStringList &operator=(const QList<QString> &other); QStringList &operator=(QList<QString> &&other); QStringList operator+(const QStringList &other)const; QStringList &operator<<(const QString &str); QStringList &operator<<(const QStringList &other); QStringList &operator<<(const QList<QString> &other);private:#endifpublic:inlinevoidsort(Qt::CaseSensitivity cs =Qt::CaseSensitive){QtPrivate::QStringList_sort(self(), cs); }inline qsizetype removeDuplicates(){returnQtPrivate::QStringList_removeDuplicates(self()); }inline QString join(QStringView sep)const{returnQtPrivate::QStringList_join(self(), sep); }inline QString join(QLatin1StringView sep)const{returnQtPrivate::QStringList_join(*self(), sep); }inline QString join(QChar sep)const{returnQtPrivate::QStringList_join(self(), &sep,1); } QStringList filter(const QStringMatcher &matcher)const{returnQtPrivate::QStringList_filter(*self(), matcher); } QStringList filter(const QLatin1StringMatcher &matcher)const{returnQtPrivate::QStringList_filter(*self(), matcher); } QStringList filter(QLatin1StringView needle,Qt::CaseSensitivity cs =Qt::CaseSensitive)const{returnQtPrivate::QStringList_filter(*self(), needle, cs); }inline QStringList filter(QStringView str,Qt::CaseSensitivity cs =Qt::CaseSensitive)const{returnQtPrivate::QStringList_filter(self(), str, cs); }inline QStringList &replaceInStrings(QStringView before, QStringView after,Qt::CaseSensitivity cs =Qt::CaseSensitive){QtPrivate::QStringList_replaceInStrings(self(), before, after, cs);return*self();}inline QString join(const QString &sep)const{returnQtPrivate::QStringList_join(self(), sep.constData(), sep.size()); }inline QStringList filter(const QString &str,Qt::CaseSensitivity cs =Qt::CaseSensitive)const{returnQtPrivate::QStringList_filter(self(), str, cs); }inline QStringList &replaceInStrings(const QString &before,const QString &after,Qt::CaseSensitivity cs =Qt::CaseSensitive){QtPrivate::QStringList_replaceInStrings(self(), before, after, cs);return*self();}inline QStringList &replaceInStrings(const QString &before, QStringView after,Qt::CaseSensitivity cs =Qt::CaseSensitive){QtPrivate::QStringList_replaceInStrings(self(), before, after, cs);return*self();}inline QStringList &replaceInStrings(QStringView before,const QString &after,Qt::CaseSensitivity cs =Qt::CaseSensitive){QtPrivate::QStringList_replaceInStrings(self(), before, after, cs);return*self();}using QListSpecialMethodsBase<QString>::contains;using QListSpecialMethodsBase<QString>::indexOf;using QListSpecialMethodsBase<QString>::lastIndexOf;inlineboolcontains(QLatin1StringView str,Qt::CaseSensitivity cs =Qt::CaseSensitive)const noexcept {returnQtPrivate::QStringList_contains(self(), str, cs); }inlineboolcontains(QStringView str,Qt::CaseSensitivity cs =Qt::CaseSensitive)const noexcept {returnQtPrivate::QStringList_contains(self(), str, cs); }inlineboolcontains(const QString &str,Qt::CaseSensitivity cs =Qt::CaseSensitive)const noexcept {returnQtPrivate::QStringList_contains(self(), str, cs); } qsizetype indexOf(const QString &str, qsizetype from =0,Qt::CaseSensitivity cs =Qt::CaseSensitive)const noexcept {returnindexOf(QStringView(str), from, cs); } qsizetype indexOf(QStringView needle, qsizetype from =0,Qt::CaseSensitivity cs =Qt::CaseSensitive)const noexcept {returnQtPrivate::QStringList_indexOf(*self(), needle, from, cs); } qsizetype indexOf(QLatin1StringView needle, qsizetype from =0,Qt::CaseSensitivity cs =Qt::CaseSensitive)const noexcept {returnQtPrivate::QStringList_indexOf(*self(), needle, from, cs); } qsizetype lastIndexOf(const QString &str, qsizetype from = -1,Qt::CaseSensitivity cs =Qt::CaseSensitive)const noexcept {returnlastIndexOf(QStringView(str), from, cs); } qsizetype lastIndexOf(QStringView str, qsizetype from = -1,Qt::CaseSensitivity cs =Qt::CaseSensitive)const noexcept {returnQtPrivate::QStringList_lastIndexOf(*self(), str, from, cs); } qsizetype lastIndexOf(QLatin1StringView needle, qsizetype from = -1,Qt::CaseSensitivity cs =Qt::CaseSensitive)const noexcept {returnQtPrivate::QStringList_lastIndexOf(*self(), needle, from, cs); }#if QT_CONFIG(regularexpression)inline QStringList filter(const QRegularExpression &re)const{returnQtPrivate::QStringList_filter(self(), re); }inline QStringList &replaceInStrings(const QRegularExpression &re,const QString &after){QtPrivate::QStringList_replaceInStrings(self(), re, after);return*self();}inline qsizetype indexOf(const QRegularExpression &re, qsizetype from =0)const{returnQtPrivate::QStringList_indexOf(self(), re, from); }inline qsizetype lastIndexOf(const QRegularExpression &re, qsizetype from = -1)const{returnQtPrivate::QStringList_lastIndexOf(self(), re, from); }#endif// QT_CONFIG(regularexpression)}; QT_END_NAMESPACE #endif// QSTRINGLIST_H
|