4#ifndef QBYTEARRAYALGORITHMS_H
5#define QBYTEARRAYALGORITHMS_H
7#include <QtCore/qnamespace.h>
13#pragma qt_class(QByteArrayAlgorithms)
49 void *m_reserved2 =
nullptr;
51 constexpr ParsedNumber() noexcept : m_value(), m_error(true), m_reserved(0) {}
55 explicit operator bool() const noexcept {
return !m_error; }
58 T *
operator->() noexcept {
return *
this ? &m_value :
nullptr; }
59 const T *
operator->() const noexcept {
return *
this ? &m_value :
nullptr; }
61 T
value_or(U &&u)
const {
return *
this ? m_value : T(std::forward<U>(u)); }
72template <
typename T,
typename ByteArrayView,
73 typename = std::enable_if_t<std::is_same_v<ByteArrayView, QByteArrayView>>>
76 const auto val = [&] {
77 if constexpr (std::is_unsigned_v<T>)
82 const bool failed = !
val || T(*
val) != *
val;
101#if defined(Q_CC_GNU_ONLY) && Q_CC_GNU >= 900 && Q_CC_GNU < 1000
106 return str ? strlen(
str) : 0;
114 auto end =
static_cast<const char *
>(memchr(
str,
'\0', maxlen));
122Q_CORE_EXPORT
int qstrcmp(
const char *str1,
const char *str2);
124inline int qstrncmp(
const char *str1,
const char *str2,
size_t len)
126 return (str1 && str2) ? strncmp(str1, str2,
len)
127 : (str1 ? 1 : (str2 ? -1 : 0));
129Q_CORE_EXPORT
int qstricmp(
const char *,
const char *);
T * operator->() noexcept
constexpr ParsedNumber(T v)
constexpr ParsedNumber() noexcept
const T & operator*() const
const T * operator->() const noexcept
Combined button and popup list for selecting options.
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)
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 Q_DECL_PURE_FUNCTION qsizetype lastIndexOf(QByteArrayView haystack, qsizetype from, 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 qsizetype findByteArray(QByteArrayView haystack, qsizetype from, QByteArrayView needle) 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
static T toIntegral(ByteArrayView data, bool *ok, int base)
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 qvsnprintf(char *str, size_t n, const char *fmt, va_list ap)
Q_CORE_EXPORT int qstrnicmp(const char *, const char *, size_t len)
Q_CORE_EXPORT int qsnprintf(char *str, size_t n, const char *fmt,...)
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 quint16 qChecksum(QByteArrayView data, Qt::ChecksumType standard=Qt::ChecksumIso3309)
Q_CORE_EXPORT char * qstrcpy(char *dst, const char *src)
Q_CORE_EXPORT int qstrcmp(const char *str1, const char *str2)
#define Q_DECL_PURE_FUNCTION
#define QT_WARNING_DISABLE_GCC(text)
GLsizei const GLfloat * v
[13]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLenum GLsizei count
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
QVideoFrameFormat::PixelFormat fmt