35 #include <private/qduplicatetracker_p.h>
45 h = (
h << 4) + (*
p++).unicode();
46 h ^= (
h & 0xf0000000) >> 23;
53 m_offset(0), m_length(0), m_file(0), m_hash(0x80000000)
63 m_string(
other.m_string), m_offset(
other.m_offset), m_length(
other.m_length), m_file(
other.m_file), m_hash(0x80000000)
68 m_string(
str), m_offset(0), m_length(
str.
length()), m_file(0)
74 m_string(
str), m_offset(0), m_length(
str.
length()), m_file(0), m_hash(0x80000000)
79 m_string(
str.toString()), m_offset(0), m_length(
str.
size()), m_file(0), m_hash(0x80000000)
90 m_string(
QString::fromLatin1(
str)), m_offset(0), m_length(int(
qstrlen(
str))), m_file(0), m_hash(0x80000000)
106 m_string(
str), m_offset(
offset), m_length(
length), m_file(0), m_hash(0x80000000)
112 m_string =
str, m_offset = 0, m_length =
str.
length(), m_hash = 0x80000000;
115 size_t ProString::updatedHash()
const
117 return (m_hash =
hash(m_string.
constData() + m_offset, m_length));
122 if (!(
str.m_hash & 0x80000000))
124 return str.updatedHash();
155 return m_string.
mid(m_offset, m_length);
160 tmp = m_string.
mid(m_offset, m_length);
166 if (
other.m_length) {
172 m_length = m_string.
length();
174 m_file =
other.m_file;
184 if (m_length != m_string.
length()) {
187 m_length = m_string.
length();
191 m_length +=
other.size();
200 if (m_length != m_string.
length()) {
203 m_length = m_string.
length();
216 if (
other.m_length) {
220 if (m_length != m_string.
length())
225 m_string +=
other.toQStringView();
227 m_length = m_string.
length();
230 m_file =
other.m_file;
241 if (
const int sz =
other.size()) {
248 if (!m_length && sz == startIdx + 1) {
249 *
this =
other.at(startIdx);
251 int totalLength = sz - startIdx;
252 for (
int i = startIdx;
i < sz; ++
i)
253 totalLength +=
other.at(
i).size();
254 bool putSpace =
false;
262 for (
int i = startIdx;
i < sz; ++
i) {
268 m_string +=
str.toQStringView();
270 m_length = m_string.
length();
271 if (
other.last().m_file)
272 m_file =
other.last().m_file;
289 memcpy(ptr, one.m_string.
constData() + one.m_offset, one.m_length * 2);
290 memcpy(ptr + one.m_length, two.m_string.
constData() + two.m_offset, two.m_length * 2);
314 int end = cur + m_length;
316 for (; cur <
end; cur++)
317 if (!
data[cur].isSpace()) {
319 while (
data[
end - 1].isSpace())
330 t <<
str.toQStringView();
337 const int sz = this_.
size();
339 for (
int i = 0;
i < sz; ++
i)
340 totalLength += this_.
at(
i).
size();
343 totalLength += sepSize * (sz - 1);
347 for (
int i = 0;
i < sz; ++
i) {
349 memcpy(ptr, sep, sepSize *
sizeof(
QChar));
361 return ProStringList_join(*
this, sep.
constData(), sep.
size());
366 return ProStringList_join(*
this, sep.
constData(), sep.
size());
371 return ProStringList_join(*
this, &sep, 1);
376 for (
int i =
size(); --
i >= 0; )
383 for (
int i =
size(); --
i >= 0; )
400 for (
int i =
size(); --
i >= 0;)
429 for (
const auto &
e : *
this)
430 ret.append(
e.toQString());
436 for (
int i = 0;
i <
size();
i++)
444 for (
int i = 0;
i <
size();
i++)
452 for (
int i = 0;
i <
size();
i++)
small capitals from c petite p scientific i
[1]
const ushort * tokPtr() const
ProFile(int id, const QString &fileName)
ProString getStr(const ushort *&tPtr)
const QString & items() const
ProKey getHashStr(const ushort *&tPtr)
void setValue(const QString &str)
ProString mid(int off, int len=-1) const
QString toQString() const
ALWAYS_INLINE QStringView toQStringView() const
void setValue(const QString &str)
const QChar * constData() const
int compare(const ProString &sub, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
ProString & prepend(const ProString &other)
ProString trimmed() const
ProString & append(const ProString &other, bool *pending=nullptr)
void removeAll(const ProString &str)
QString join(const ProString &sep) const
void insertUnique(const ProStringList &value)
void removeEach(const ProStringList &value)
bool contains(const ProString &str, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
QStringList toQStringList() const
size_t qstrlen(const char *str)
const QByteArray operator+(const QByteArray &a1, const QByteArray &a2)
The QChar class provides a 16-bit Unicode character.
operator<<(QDataStream &ds, qfloat16 f)
The QDebug class provides an output stream for debugging information.
The QFileInfo class provides system-independent file information.
QString canonicalFilePath() const
template< typename Enum > size_t qHash(QFlags< Enum > flags, size_t seed=0) noexcept
The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal.
qsizetype size() const noexcept
bool isEmpty() const noexcept
const_reference at(qsizetype i) const noexcept
void remove(qsizetype i, qsizetype n=1)
qsizetype removeIf(Predicate pred)
void reserve(qsizetype size)
void append(parameter_type t)
The QString class provides a Unicode character string.
qsizetype lastIndexOf(QChar c, Qt::CaseSensitivity cs=Qt::CaseSensitive) const noexcept
bool startsWith(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
const QChar * constData() const
QString mid(qsizetype position, qsizetype n=-1) const
QString & append(QChar c)
QString left(qsizetype n) const
The QStringList class provides a list of strings.
The QStringView class provides a unified view on UTF-16 strings with a read-only subset of the QStrin...
int compare(QStringView other, Qt::CaseSensitivity cs=Qt::CaseSensitive) const noexcept
The QTextStream class provides a convenient interface for reading and writing text.
QHash< int, QWidget * > hash
[35multi]
constexpr Initialization Uninitialized
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage return DBusPendingCall * pending
EGLOutputLayerEXT EGLint EGLAttrib value
GLenum GLuint GLenum GLsizei length
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLuint GLintptr offset
GLfloat GLfloat GLfloat GLfloat h
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.