qxmlstream_p.h

来自「奇趣公司比较新的qt/emd版本」· C头文件 代码 · 共 1,879 行 · 第 1/5 页

H
1,879
字号
  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 + =
减小字号Ctrl + -
显示快捷键?