5#ifndef QBYTEARRAYALGORITHMS_H
6#define QBYTEARRAYALGORITHMS_H
8#include <QtCore/qnamespace.h>
14#pragma qt_class(QByteArrayAlgorithms)
23[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
24bool startsWith(QByteArrayView haystack, QByteArrayView needle)
noexcept;
26[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
27bool endsWith(QByteArrayView haystack, QByteArrayView needle)
noexcept;
32[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
38[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
41[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
46[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION QByteArrayView
trimmed(QByteArrayView s)
noexcept;
55 quint32 m_reserved : 31;
56 void *m_reserved2 =
nullptr;
62 explicit operator bool()
const noexcept {
return !m_error; }
63 T &
operator*() { Q_ASSERT(*
this);
return m_value; }
64 const T &
operator*()
const { Q_ASSERT(*
this);
return m_value; }
65 T *
operator->()
noexcept {
return *
this ? &m_value :
nullptr; }
66 const T *
operator->()
const noexcept {
return *
this ? &m_value :
nullptr; }
68 T
value_or(U &&u)
const {
return *
this ? m_value : T(std::forward<U>(u)); }
83 const auto val = [&] {
100
101
103[[nodiscard]] Q_DECL_PURE_FUNCTION Q_CORE_EXPORT
104const void *
qmemrchr(
const void *s,
int needle, size_t n)
noexcept;
110#if defined(Q_CC_GNU_ONLY) && Q_CC_GNU >= 900
&& Q_CC_GNU < 1000
113 QT_WARNING_DISABLE_GCC(
"-Wstringop-overflow")
115 return str ? strlen(str) : 0;
123 auto end =
static_cast<
const char *>(memchr(str,
'\0', maxlen));
124 return end ? end - str : maxlen;
133inline int qstrncmp(
const char *str1,
const char *str2, size_t len)
135 return (str1 && str2) ? strncmp(str1, str2, len)
136 : (str1 ? 1 : (str2 ? -1 : 0));
142#ifndef QT_NO_QSNPRINTF
143#if QT_DEPRECATED_SINCE(6
, 9
)
144#define QSNPF_DEPR(vsn)
145 QT_DEPRECATED_VERSION_X_6_9("Use C++11 std::" #vsn "printf() instead, taking care to "
146 "ensure that you didn't rely on QString::asprintf() "
147 "idiosyncrasies that q" #vsn "printf might, but "
148 "std::" #vsn "printf() does not, support.")
151Q_CORE_EXPORT
int qvsnprintf(
char *str, size_t n,
const char *fmt, va_list ap)
152 Q_ATTRIBUTE_FORMAT_PRINTF(3, 0);
154Q_CORE_EXPORT
int qsnprintf(
char *str, size_t n,
const char *fmt, ...)
155 Q_ATTRIBUTE_FORMAT_PRINTF(3, 4);
161Q_CORE_EXPORT quint16 qChecksum(QByteArrayView data, Qt::ChecksumType standard = Qt::ChecksumIso3309);
T * operator->() noexcept
operator bool() const noexcept
constexpr ParsedNumber(T v)
constexpr ParsedNumber() noexcept
const T & operator*() const
const T * operator->() const noexcept
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION bool endsWith(QByteArrayView haystack, QByteArrayView needle) noexcept
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION ParsedNumber< qulonglong > toUnsignedInteger(QByteArrayView data, int base)
qsizetype lastIndexOf(QByteArrayView haystack, qsizetype from, uchar needle) noexcept
qsizetype findByteArray(QByteArrayView haystack, qsizetype from, char needle) noexcept
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION QByteArrayView trimmed(QByteArrayView s) noexcept
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION ParsedNumber< qlonglong > toSignedInteger(QByteArrayView data, int base)
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION bool startsWith(QByteArrayView haystack, QByteArrayView needle) noexcept
Q_CORE_EXPORT int compareMemory(QByteArrayView lhs, QByteArrayView rhs)
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION ParsedNumber< float > toFloat(QByteArrayView a) noexcept
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION ParsedNumber< double > toDouble(QByteArrayView a) noexcept
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION bool isValidUtf8(QByteArrayView s) noexcept
int qstrnicmp(const char *str1, qsizetype len1, const char *str2, qsizetype len2)
size_t qstrlen(const char *str)
int qstrncmp(const char *str1, const char *str2, size_t len)
Q_CORE_EXPORT char * qstrncpy(char *dst, const char *src, size_t len)
Q_CORE_EXPORT int qstrnicmp(const char *, const char *, size_t len)
size_t qstrnlen(const char *str, size_t maxlen)
Q_CORE_EXPORT int qstricmp(const char *, const char *)
Q_CORE_EXPORT char * qstrdup(const char *)
Q_CORE_EXPORT char * qstrcpy(char *dst, const char *src)
Q_DECL_PURE_FUNCTION Q_CORE_EXPORT const void * qmemrchr(const void *s, int needle, size_t n) noexcept
Q_CORE_EXPORT int qstrcmp(const char *str1, const char *str2)