15#include <QtCore/private/qglobal_p.h>
19#include <QtCore/qhash.h>
20#include <QCoreApplication>
77#define MAKE_MEMBER(name) \
78 auto name () const noexcept { return view(). name (); }
93 friend auto operator op(const XmlStringRef &lhs, const XmlStringRef &rhs) noexcept { return lhs.view() op rhs.view(); } \
103 friend auto operator op(const XmlStringRef &lhs, QStringView rhs) noexcept { return lhs.view() op rhs; } \
104 friend auto operator op(QStringView lhs, const XmlStringRef &rhs) noexcept { return lhs op rhs.view(); } \
139 if (tos + extraCapacity + 1 >
cap) {
140 cap =
qMax(tos + extraCapacity + 1,
cap << 1 );
141 void *
ptr = realloc(
static_cast<void *
>(
data),
cap *
sizeof(T));
142 data =
reinterpret_cast<T *
>(
ptr);
149 inline const T &
top()
const {
return data[tos]; }
151 inline T
pop() { T
t = std::move(
data[tos]); std::destroy_at(
data + tos); --tos;
return t; }
156 inline bool isEmpty()
const {
return tos < 0; }
232 QXmlStreamReader *q_ptr;
233 Q_DECLARE_PUBLIC(QXmlStreamReader)
285 raiseWellFormedError(QXmlStream::tr(
"Entity expands to more characters than the entity expansion limit."));
314 QXmlStreamReader::TokenType
type;
492 bool scanString(
const char *
str,
short tokenToInject,
bool requireSpace =
true);
494 putChar(
int(tokenToInject) << 16);
532 inline void setType(
const QXmlStreamReader::TokenType
t)
534 if (
type != QXmlStreamReader::Invalid)
\inmodule QtCore \reentrant
value_type & reference
Alias for {value_type &}.
const QChar value_type
Alias for {const QChar}.
const_pointer const_iterator
This typedef provides an STL-style const iterator for QStringView.
value_type & const_reference
Alias for {value_type &}.
pointer iterator
This typedef provides an STL-style const iterator for QStringView.
std::ptrdiff_t difference_type
Alias for {std::ptrdiff_t}.
QString toString() const
Returns a deep copy of this string view's data as a QString.
std::reverse_iterator< const_iterator > const_reverse_iterator
This typedef provides an STL-style const reverse iterator for QStringView.
value_type * pointer
Alias for {value_type *}.
constexpr QStringView mid(qsizetype pos, qsizetype n=-1) const noexcept
Returns the substring of length length starting at position start in this object.
value_type * const_pointer
Alias for {value_type *}.
std::reverse_iterator< iterator > reverse_iterator
This typedef provides an STL-style const reverse iterator for QStringView.
qsizetype size_type
Alias for qsizetype.
\macro QT_RESTRICTED_CAST_FROM_ASCII
void reserve(qsizetype size)
Ensures the string has space for at least size characters.
qsizetype size() const
Returns the number of characters in this string.
QChar * data()
Returns a pointer to the data stored in the QString.
QString & append(QChar c)
void resize(qsizetype size)
Sets the size of the string to size characters.
QXmlStreamReaderPrivate(QXmlStreamReader *q)
bool scanAfterLangleBang()
XmlStringRef symName(const Value &symbol)
uint referenceToUnparsedEntityDetected
void parseEntity(const QString &value)
void raiseError(QXmlStreamReader::Error error, const QString &message=QString())
~QXmlStreamReaderPrivate()
XmlStringRef documentVersion
XmlStringRef qualifiedName
bool scanUntil(const char *str, short tokenToInject=-1)
XmlStringRef symPrefix(int index)
bool referenceEntity(QHash< QStringView, Entity > *hash, Entity &entity)
void checkPublicLiteral(QStringView publicId)
QHash< QStringView, Entity > entityHash
XmlContext currentContext
bool entitiesMustBeDeclared() const
bool isValidToken(QXmlStreamReader::TokenType type)
XmlStringRef symString(int index, int offset)
bool lastAttributeIsCData
uint referenceToParameterEntityDetected
XmlStringRef namespaceUri
qsizetype fastScanLiteralContent()
QXmlStreamEntityDeclarations publicEntityDeclarations
QString resolveUndeclaredEntity(const QString &name)
XmlStringRef symString(const Value &symbol)
std::optional< qsizetype > fastScanName(Value *val=nullptr)
QXmlStreamAttributes attributes
void putString(QStringView s, qsizetype from=0)
Value & sym(int index) const
void write(const QString &)
uint resolveCharRef(int symbolIndex)
QXmlStreamSimpleStack< EntityDeclaration > entityDeclarations
qsizetype fastScanNMTOKEN()
void putStringLiteral(QStringView s)
void putReplacement(QStringView s)
bool scanAfterDefaultDecl()
std::unique_ptr< QXmlStreamReaderPrivate > entityParser
XmlStringRef symName(int index)
uint filterCarriageReturn()
QXmlStreamReader::TokenType type
XmlStringRef processingInstructionData
void putReplacementInAttributeValue(QStringView s)
QXmlStreamSimpleStack< Attribute > attributeStack
XmlStringRef namespaceForPrefix(QStringView prefix)
XmlStringRef symPrefix(const Value &symbol)
qsizetype fastScanSpace()
void raiseNamePrefixTooLongError()
void resolvePublicNamespaces()
QXmlStreamSimpleStack< uint > putStack
QHash< QStringView, Entity > parameterEntityHash
void raiseWellFormedError(const QString &message)
QXmlStreamNotationDeclarations publicNotationDeclarations
XmlStringRef documentEncoding
QXmlStreamNamespaceDeclarations publicNamespaceDeclarations
QXmlStreamEntityResolver * entityResolver
QXmlStreamSimpleStack< DtdAttribute > dtdAttributes
uint hasExternalDtdSubset
qsizetype fastScanContentCharList()
XmlStringRef processingInstructionTarget
void injectToken(ushort tokenToInject)
XmlStringRef lastAttributeValue
bool checkStartDocument()
XmlStringRef symString(int index)
QXmlStreamReader::Error error
QXmlStreamSimpleStack< NotationDeclaration > notationDeclarations
bool scanString(const char *str, short tokenToInject, bool requireSpace=true)
QXmlStreamSimpleStack< QEntityReference > entityReferenceStack
uint hasCheckedStartDocument
QStringView symView(int index) const
bool scanPublicOrSystem()
void reserve(qsizetype extraCapacity)
const T & at(qsizetype index) const
T & operator[](qsizetype index)
QStringView::reverse_iterator reverse_iterator
QStringView::difference_type difference_type
XmlStringRef(const QString *string)
QStringView::size_type size_type
constexpr XmlStringRef()=default
constexpr XmlStringRef(const QString *string, qsizetype pos, qsizetype length)
QStringView::const_reverse_iterator const_reverse_iterator
QHash< int, QWidget * > hash
[35multi]
Combined button and popup list for selecting options.
#define Q_DECLARE_TR_FUNCTIONS(context)
AudioChannelLayoutTag tag
DBusConnection const char * rule
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
static ControlElement< T > * ptr(QWidget *widget)
constexpr const T & qMax(const T &a, const T &b)
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint GLenum GLsizei length
GLuint GLsizei const GLchar * message
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLuint GLintptr offset
GLdouble GLdouble GLdouble GLdouble q
GLsizei const GLchar *const * string
[0]
QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIterator begin(const QRegularExpressionMatchIterator &iterator)
#define MAKE_MEMBER(name)
Q_CHECK_PTR(a=new int[80])
bool isNamespaceAttribute
XmlStringRef attributeQualifiedName
XmlStringRef attributeName
XmlStringRef attributePrefix
XmlStringRef defaultValue
XmlStringRef notationName
static Entity createLiteral(QLatin1StringView name, QLatin1StringView value)
Entity(const QString &name, const QString &value)
uint isCurrentlyReferenced
QHash< QStringView, Entity > * hash