4#ifndef QBYTEARRAYALGORITHMS_H
5#define QBYTEARRAYALGORITHMS_H
7#include <QtCore/qnamespace.h>
13#pragma qt_class(QByteArrayAlgorithms)
22[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
23bool startsWith(QByteArrayView haystack, QByteArrayView needle)
noexcept;
25[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
26bool endsWith(QByteArrayView haystack, QByteArrayView needle)
noexcept;
31[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
37[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
40[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION
45[[
nodiscard]] Q_CORE_EXPORT Q_DECL_PURE_FUNCTION QByteArrayView
trimmed(QByteArrayView s)
noexcept;
54 quint32 m_reserved : 31;
55 void *m_reserved2 =
nullptr;
61 explicit operator bool()
const noexcept {
return !m_error; }
62 T &
operator*() { Q_ASSERT(*
this);
return m_value; }
63 const T &
operator*()
const { Q_ASSERT(*
this);
return m_value; }
64 T *
operator->()
noexcept {
return *
this ? &m_value :
nullptr; }
65 const T *
operator->()
const noexcept {
return *
this ? &m_value :
nullptr; }
67 T
value_or(U &&u)
const {
return *
this ? m_value : T(std::forward<U>(u)); }
82 const auto val = [&] {
99
100
102[[nodiscard]] Q_DECL_PURE_FUNCTION Q_CORE_EXPORT
103const void *
qmemrchr(
const void *s,
int needle, size_t n)
noexcept;
109#if defined(Q_CC_GNU_ONLY) && Q_CC_GNU >= 900
&& Q_CC_GNU < 1000
112 QT_WARNING_DISABLE_GCC(
"-Wstringop-overflow")
114 return str ? strlen(str) : 0;
122 auto end =
static_cast<
const char *>(memchr(str,
'\0', maxlen));
123 return end ? end - str : maxlen;
132inline int qstrncmp(
const char *str1,
const char *str2, size_t len)
134 return (str1 && str2) ? strncmp(str1, str2, len)
135 : (str1 ? 1 : (str2 ? -1 : 0));
141#ifndef QT_NO_QSNPRINTF
142#if QT_DEPRECATED_SINCE(6
, 9
)
143#define QSNPF_DEPR(vsn)
144 QT_DEPRECATED_VERSION_X_6_9("Use C++11 std::" #vsn "printf() instead, taking care to "
145 "ensure that you didn't rely on QString::asprintf() "
146 "idiosyncrasies that q" #vsn "printf might, but "
147 "std::" #vsn "printf() does not, support.")
150Q_CORE_EXPORT
int qvsnprintf(
char *str, size_t n,
const char *fmt, va_list ap)
151 Q_ATTRIBUTE_FORMAT_PRINTF(3, 0);
153Q_CORE_EXPORT
int qsnprintf(
char *str, size_t n,
const char *fmt, ...)
154 Q_ATTRIBUTE_FORMAT_PRINTF(3, 4);
160Q_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)