Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/QtCore/qbytearraylist.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // Copyright (C) 2016 Intel Corporation.
0003 // Copyright (C) 2014 by Southwest Research Institute (R)
0004 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0005 
0006 #include <QtCore/qlist.h>
0007 
0008 #ifndef QBYTEARRAYLIST_H
0009 #define QBYTEARRAYLIST_H
0010 
0011 #include <QtCore/qbytearray.h>
0012 
0013 #include <limits>
0014 
0015 QT_BEGIN_NAMESPACE
0016 
0017 #if !defined(QT_NO_JAVA_STYLE_ITERATORS)
0018 typedef QListIterator<QByteArray> QByteArrayListIterator;
0019 typedef QMutableListIterator<QByteArray> QMutableByteArrayListIterator;
0020 #endif
0021 
0022 #ifndef Q_QDOC
0023 
0024 namespace QtPrivate {
0025 #if QT_CORE_REMOVED_SINCE(6, 3) && QT_POINTER_SIZE != 4
0026     QByteArray Q_CORE_EXPORT QByteArrayList_join(const QByteArrayList *that, const char *separator, int separatorLength);
0027 #endif
0028     QByteArray Q_CORE_EXPORT QByteArrayList_join(const QByteArrayList *that, const char *sep, qsizetype len);
0029 }
0030 #endif
0031 
0032 #ifdef Q_QDOC
0033 class QByteArrayList : public QList<QByteArray>
0034 #else
0035 template <> struct QListSpecialMethods<QByteArray> : QListSpecialMethodsBase<QByteArray>
0036 #endif
0037 {
0038 #ifndef Q_QDOC
0039 protected:
0040     ~QListSpecialMethods() = default;
0041 #endif
0042 public:
0043     using QListSpecialMethodsBase<QByteArray>::indexOf;
0044     using QListSpecialMethodsBase<QByteArray>::lastIndexOf;
0045     using QListSpecialMethodsBase<QByteArray>::contains;
0046 
0047     QByteArray join(QByteArrayView sep = {}) const
0048     {
0049         return QtPrivate::QByteArrayList_join(self(), sep.data(), sep.size());
0050     }
0051     Q_WEAK_OVERLOAD
0052     inline QByteArray join(const QByteArray &sep) const
0053     { return join(qToByteArrayViewIgnoringNull(sep)); }
0054     inline QByteArray join(char sep) const
0055     { return join({&sep, 1}); }
0056 };
0057 
0058 QT_END_NAMESPACE
0059 
0060 #endif // QBYTEARRAYLIST_H