📄 qxmlstream_p.h
字号:
369, 370, 51, 51, 51, 51, 57, 56, 62, 60, 61, 51, 308, 309, 307, 153, 162, 164, 0, 163, 154, 162, 164, 147, 163, 74, 73, 336, 335, 334, 0, 162, 164, 380, 163, 51, 66, 125, 211, 209, 0, 62, 60, 61, 0, 288, 0, 32, 289, 126, 0, 291, 146, 145, 292, 290, 0, 0, 288, 263, 0, 289, 0, 0, 291, 212, 210, 292, 290, 264, 262, 265, 266, 66, 282, 372, 0, 0, 288, 13, 119, 289, 0, 0, 291, 0, 0, 292, 290, 0, 0, 0, 0, 0, 0, 278, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 279, 280, 281, 277, 283, 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 125, 0, 0, 0, 0, 0, 0, 353, 0, 99, 0, 94, 126, 85, 105, 104, 86, 95, 88, 96, 90, 84, 89, 98, 78, 97, 79, 80, 91, 100, 83, 92, 77, 87, 82, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 94, 0, 85, 93, 81, 86, 95, 88, 96, 90, 84, 89, 98, 78, 97, 79, 80, 91, 100, 83, 92, 77, 87, 82, 99, 0, 94, 0, 85, 112, 111, 86, 95, 88, 96, 90, 84, 89, 98, 78, 97, 79, 80, 91, 100, 83, 92, 77, 87, 82, 0, 99, 0, 94, 0, 85, 108, 107, 86, 95, 88, 96, 90, 84, 89, 98, 78, 97, 79, 80, 91, 100, 83, 92, 77, 87, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 94, 313, 85, 328, 327, 86, 95, 88, 96, 90, 84, 89, 98, 78, 97, 79, 80, 91, 100, 83, 92, 77, 87, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 94, 313, 85, 315, 314, 86, 95, 88, 96, 90, 84, 89, 98, 78, 97, 79, 80, 91, 100, 83, 92, 77, 87, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 224, 232, 214, 223, 253, 252, 225, 233, 227, 234, 228, 222, 0, 236, 216, 235, 217, 218, 229, 238, 221, 230, 215, 226, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 94, 313, 85, 332, 331, 86, 95, 88, 96, 90, 84, 89, 98, 78, 97, 79, 80, 91, 100, 83, 92, 77, 87, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 224, 232, 214, 223, 247, 246, 225, 233, 227, 234, 228, 222, 0, 236, 216, 235, 217, 218, 229, 238, 221, 230, 215, 226, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 224, 232, 214, 223, 231, 219, 225, 233, 227, 234, 228, 222, 0, 236, 216, 235, 217, 218, 229, 238, 221, 230, 215, 226, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 224, 232, 214, 223, 257, 256, 225, 233, 227, 234, 228, 222, 0, 236, 216, 235, 217, 218, 229, 238, 221, 230, 215, 226, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 94, 313, 85, 325, 324, 86, 95, 88, 96, 90, 84, 89, 98, 78, 97, 79, 80, 91, 100, 83, 92, 77, 87, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 378, 25, 5, 15, 24, 10, 17, 26, 19, 27, 21, 14, 20, 29, 7, 28, 8, 9, 22, 31, 12, 23, 6, 18, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 32, 0, 30, 16, 25, 5, 15, 24, 10, 17, 26, 19, 27, 21, 14, 20, 29, 7, 28, 8, 9, 22, 31, 12, 23, 6, 18, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 32, 0, 385, 52, 377, 416, 371, 340, 398, 344, 363, 352, 381, 382, 395, 391, 359, 348, 366, 397, 400, 254, 403, 349, 402, 367, 249, 362, 347, 295, 152, 206, 350, 115, 201, 161, 205, 248, 123, 109, 259, 143, 260, 204, 179, 244, 169, 258, 197, 172, 174, 176, 181, 196, 166, 101, 185, 189, 193, 113, 106, 302, 149, 0, 298, 165, 375, 190, 0, 0, 177, 304, 175, 182, 250, 337, 64, 67, 116, 184, 306, 322, 351, 300, 343, 287, 0, 170, 346, 251, 42, 42, 319, 0, 374, 361, 299, 338, 373, 303, 360, 272, 404, 393, 267, 385, 271, 319, 392, 319, 417, 128, 274, 141, 319, 134, 42, 271, 339, 128, 391, 141, 142, 134, 135, 0, 0, 0, 0, 0, 356, 0, 135, 0, 0, 114, 0, 354, 355, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 34, 34, 318, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 318, 0, 329, 0, 333, 318, 0, 34, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 411, 409, 415, 413, 410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};const int QXmlStreamReader_Table::action_check [] = { 26, 26, 26, 14, 4, 4, 4, 4, 26, 26, 14, 4, 18, 4, 4, 24, 44, 22, 4, 13, 4, 22, 18, 26, 26, 4, 4, 19, 2, 2, 18, 26, 4, 20, 42, 12, 4, 26, 0, 4, 4, 26, 54, 26, 4, 26, 26, 18, 11, 2, 20, 12, 13, 7, 8, 7, 8, 2, 4, 29, 7, 8, 4, 9, -1, 24, 25, -1, 12, 13, 11, 24, 7, 8, 16, 13, 34, 35, 7, 8, 11, 19, 2, 34, 35, 26, 12, 13, 7, 8, 11, 36, 6, 6, 11, 26, 12, 13, 26, 27, 11, 6, 20, 15, -1, 26, 2, 3, 18, 26, 28, 29, 26, 26, 26, 26, 26, 27, 24, 25, 26, 26, 6, 7, 8, 6, 21, 22, -1, 24, 11, 21, 22, 11, 24, 7, 8, 37, 38, 39, -1, 21, 22, 16, 24, 26, 2, 3, 7, 8, -1, 24, 25, 26, -1, 17, -1, 53, 20, 15, -1, 23, 40, 41, 26, 27, -1, -1, 17, 20, -1, 20, -1, -1, 23, 34, 35, 26, 27, 30, 31, 32, 33, 2, 11, 4, -1, -1, 17, 45, 9, 20, -1, -1, 23, -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, 32, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 3, -1, -1, -1, -1, -1, -1, 10, -1, 2, -1, 4, 15, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, 4, -1, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2, -1, 4, -1, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 2, -1, 4, -1, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, 53, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, 53, -1, 17, 20, 1, 1, 20, 17, 49, 17, 12, 17, 51, 12, 12, 51, 16, 20, 13, 12, 12, 68, 13, 17, 12, 12, 16, 13, 17, 12, 12, 12, 17, 13, 12, 12, 20, 68, 12, 64, 13, 20, 12, 12, 12, 20, 12, 68, 20, 12, 12, 12, 12, 12, 12, 64, 12, 12, 12, 64, 64, 12, 38, -1, 12, 36, 12, 20, -1, -1, 37, 12, 37, 37, 17, 17, 20, 17, 13, 36, 17, 20, 20, 17, 20, 12, -1, 37, 20, 13, 10, 10, 10, -1, 17, 12, 45, 49, 21, 44, 17, 12, 14, 12, 51, 17, 17, 10, 17, 10, 4, 6, 12, 8, 10, 10, 10, 17, 51, 6, 51, 8, 17, 10, 19, -1, -1, -1, -1, -1, 17, -1, 19, -1, -1, 17, -1, 24, 25, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, 69, 69, 69, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, -1, 69, -1, 73, -1, 73, 69, -1, 69, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};#include <QCoreApplication>template <typename T> class QXmlStreamSimpleStack { T *data; int tos, cap;public: inline QXmlStreamSimpleStack():data(0), tos(-1), cap(0){} inline ~QXmlStreamSimpleStack(){ if (data) qFree(data); } inline void reserve(int extraCapacity) { if (tos + extraCapacity + 1 > cap) { cap = qMax(tos + extraCapacity + 1, cap << 1 ); data = reinterpret_cast<T *>(qRealloc(data, cap * sizeof(T))); } } inline T &push() { reserve(1); return data[++tos]; } inline T &rawPush() { return data[++tos]; } inline const T &top() const { return data[tos]; } inline T &top() { return data[tos]; } inline T &pop() { return data[tos--]; } inline T &operator[](int index) { return data[index]; } inline const T &at(int index) const { return data[index]; } inline int size() const { return tos + 1; } inline void resize(int s) { tos = s - 1; } inline bool isEmpty() const { return tos < 0; } inline void clear() { tos = -1; }};class QXmlStream{ Q_DECLARE_TR_FUNCTIONS(QXmlStream)};class QXmlStreamPrivateTagStack {public: struct NamespaceDeclaration { QStringRef prefix; QStringRef namespaceUri; }; struct Tag { QStringRef name; QStringRef qualifiedName; NamespaceDeclaration namespaceDeclaration; int tagStackStringStorageSize; int namespaceDeclarationsSize; }; QXmlStreamPrivateTagStack(); QXmlStreamSimpleStack<NamespaceDeclaration> namespaceDeclarations; QString tagStackStringStorage; int tagStackStringStorageSize; int tagStackDefaultStringStorageSize; bool tagsDone; inline QStringRef addToStringStorage(const QStringRef &s) { int pos = tagStackStringStorageSize; int sz = s.size(); if (pos != tagStackStringStorage.size()) tagStackStringStorage.resize(pos); tagStackStringStorage.insert(pos, s.unicode(), sz); tagStackStringStorageSize += sz; return QStringRef(&tagStackStringStorage, pos, sz); } inline QStringRef addToStringStorage(const QString &s) { int pos = tagStackStringStorageSize; int sz = s.size(); if (pos != tagStackStringStorage.size()) tagStackStringStorage.resize(pos); tagStackStringStorage.insert(pos, s.unicode(), sz); tagStackStringStorageSize += sz; return QStringRef(&tagStackStringStorage, pos, sz); } QXmlStreamSimpleStack<Tag> tagStack; inline void initTagStack() { tagStackStringStorageSize = tagStackDefaultStringStorageSize; namespaceDeclarations.resize(1); } inline Tag &tagStack_pop() { Tag& tag = tagStack.pop(); tagStackStringStorageSize = tag.tagStackStringStorageSize; namespaceDeclarations.resize(tag.namespaceDeclarationsSize); tagsDone = tagStack.isEmpty(); return tag; } inline Tag &tagStack_push() { Tag &tag = tagStack.push(); tag.tagStackStringStorageSize = tagStackStringStorageSize; tag.namespaceDeclarationsSize = namespaceDeclarations.size(); return tag; }};class QXmlStreamReaderPrivate : public QXmlStreamReader_Table, public QXmlStreamPrivateTagStack{ QXmlStreamReader *q_ptr; Q_DECLARE_PUBLIC(QXmlStreamReader)public: QXmlStreamReaderPrivate(QXmlStreamReader *q); ~QXmlStreamReaderPrivate(); void init(); QByteArray rawReadBuffer; QByteArray dataBuffer; uchar firstByte; qint64 nbytesread; QString readBuffer; int readBufferPos; QXmlStreamSimpleStack<uint> putStack; struct Entity { Entity(const QString& str = QString()) :value(str), external(false), unparsed(false), literal(false), hasBeenParsed(false), isCurrentlyReferenced(false){} static inline Entity createLiteral(const QString &entity) { Entity result(entity); result.literal = result.hasBeenParsed = true; return result; } QString value; uint external : 1; uint unparsed : 1; uint literal : 1; uint hasBeenParsed : 1; uint isCurrentlyReferenced : 1; }; QHash<QString, Entity> entityHash; QHash<QString, Entity> parameterEntityHash; QXmlStreamSimpleStack<Entity *>entityReferenceStack; inline bool referenceEntity(Entity &entity) { if (entity.isCurrentlyReferenced) { raiseWellFormedError(QXmlStream::tr("Recursive entity detected.")); return false; } entity.isCurrentlyReferenced = true; entityReferenceStack.push() = &entity; injectToken(ENTITY_DONE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -