| .gitignore |
|
56 |
- |
| make-xml-parser.sh |
|
571 |
- |
| qcborarray.cpp |
!
\class QCborArray
\inmodule QtCore
\ingroup cbor
\ingroup qtserialization
\reentrant
\since 5.12
\brief The QCborArray class is used to hold an array of CBOR elements.
\compares strong
\compareswith strong QCborValueConstRef
\endcompareswith
This class can be used to hold one sequential container in CBOR (an array).
CBOR is the Concise Binary Object Representation, a very compact form of
binary data encoding that is a superset of JSON. It was created by the IETF
Constrained RESTful Environments (CoRE) WG, which has used it in many new
RFCs. It is meant to be used alongside the
\l{RFC 7252}{CoAP protocol}.
QCborArray is very similar to \l QVariantList and \l QJsonArray and its API
is almost identical to those two classes. It can also be converted to and
from those two, though there may be loss of information in some
conversions.
\sa QCborValue, QCborMap, QJsonArray, QList, {Parsing and displaying CBOR data},
{Serialization Converter}, {Saving and Loading a Game}
|
36538 |
- |
| qcborarray.h |
|
17533 |
- |
| qcborcommon.cpp |
!
\headerfile <QtCborCommon>
\inmodule QtCore
\ingroup qtserialization
\brief The <QtCborCommon> header contains definitions common to both the
streaming classes (QCborStreamReader and QCborStreamWriter) and to
QCborValue.
\sa QCborError
|
13650 |
- |
| qcborcommon.h |
X11 headers use these values too, but as defines |
3358 |
- |
| qcborcommon_p.h |
|
1079 |
- |
| qcbordiagnostic.cpp |
|
10219 |
- |
| qcbormap.cpp |
!
\class QCborMap
\inmodule QtCore
\ingroup cbor
\ingroup qtserialization
\reentrant
\since 5.12
\brief The QCborMap class is used to hold an associative container representable in CBOR.
\compares strong
\compareswith strong QCborValue QCborValueConstRef
\endcompareswith
This class can be used to hold an associative container in CBOR, a map
between a key and a value type. CBOR is the Concise Binary Object
Representation, a very compact form of binary data encoding that is a
superset of JSON. It was created by the IETF Constrained RESTful
Environments (CoRE) WG, which has used it in many new RFCs. It is meant to
be used alongside the \l{RFC 7252}{CoAP
protocol}.
Unlike JSON and \l QVariantMap, CBOR map keys can be of any type, not just
strings. For that reason, QCborMap is effectively a map between QCborValue
keys to QCborValue value elements.
However, for all member functions that take a key parameter, QCborMap
provides overloads that will work efficiently with integers and strings. In
fact, the use of integer keys is encouraged, since they occupy fewer bytes
to transmit and are simpler to encode and decode. Newer protocols designed
by the IETF CoRE WG to work specifically with CBOR are known to use them.
QCborMap is not sorted, because of that, searching for keys has linear
complexity (O(n)). QCborMap actually keeps the elements in the order that
they were inserted, which means that it is possible to make sorted
QCborMaps by carefully inserting elements in sorted order. CBOR does not
require sorting, but recommends it.
QCborMap can also be converted to and from QVariantMap and QJsonObject.
However, when performing the conversion, any non-string keys will be
stringified using a one-way method that the conversion back to QCborMap
will not undo.
\sa QCborArray, QCborValue, QJsonDocument, QVariantMap,
{Parsing and displaying CBOR data}, {Serialization Converter},
{Saving and Loading a Game}
|
65911 |
- |
| qcbormap.h |
|
23337 |
- |
| qcborstream.h |
|
535 |
- |
| qcborstreamreader.cpp |
|
67750 |
- |
| qcborstreamreader.h |
X11 headers use these values too, but as defines |
8419 |
- |
| qcborstreamwriter.cpp |
|
29678 |
- |
| qcborstreamwriter.h |
X11 headers use these values too, but as defines |
2896 |
- |
| qcborvalue.cpp |
|
121528 |
- |
| qcborvalue.h |
X11 headers use these values too, but as defines |
25782 |
- |
| qcborvalue_p.h |
|
16659 |
- |
| qdatastream.cpp |
|
41090 |
- |
| qdatastream.h |
|
21211 |
- |
| qjson_p.h |
|
6682 |
- |
| qjsonarray.cpp |
!
\class QJsonArray
\inmodule QtCore
\ingroup json
\ingroup shared
\ingroup qtserialization
\reentrant
\since 5.0
\brief The QJsonArray class encapsulates a JSON array.
\compares equality
\compareswith equality QJsonValue
\endcompareswith
A JSON array is a list of values. The list can be manipulated by inserting and
removing QJsonValue's from the array.
A QJsonArray can be converted to and from a QVariantList. You can query the
number of entries with size(), insert(), and removeAt() entries from it
and iterate over its content using the standard C++ iterator pattern.
QJsonArray is an implicitly shared class and shares the data with the document
it has been created from as long as it is not being modified.
You can convert the array to and from text based JSON through QJsonDocument.
\sa {JSON Support in Qt}, {Saving and Loading a Game}
|
30102 |
- |
| qjsonarray.h |
|
14216 |
- |
| qjsoncbor.cpp |
|
34426 |
- |
| qjsondocument.cpp |
! \class QJsonDocument
\inmodule QtCore
\ingroup json
\ingroup shared
\ingroup qtserialization
\reentrant
\since 5.0
\brief The QJsonDocument class provides a way to read and write JSON documents.
\compares equality
QJsonDocument is a class that wraps a complete JSON document and can read
this document from, and write it to, a UTF-8 encoded text-based
representation.
A JSON document can be converted from its text-based representation to a QJsonDocument
using QJsonDocument::fromJson(). toJson() converts it back to text. The parser is very
fast and efficient and converts the JSON to the binary representation used by Qt.
Validity of the parsed document can be queried with !isNull()
A document can be queried as to whether it contains an array or an object using isArray()
and isObject(). The array or object contained in the document can be retrieved using
array() or object() and then read or manipulated.
\sa {JSON Support in Qt}, {Saving and Loading a Game}
|
12565 |
- |
| qjsondocument.h |
|
3964 |
- |
| qjsonobject.cpp |
!
\class QJsonObject
\inmodule QtCore
\ingroup json
\ingroup shared
\ingroup qtserialization
\reentrant
\since 5.0
\brief The QJsonObject class encapsulates a JSON object.
\compares equality
\compareswith equality QJsonValue QJsonValueConstRef
\endcompareswith
A JSON object is a list of key value pairs, where the keys are unique strings
and the values are represented by a QJsonValue.
A QJsonObject can be converted to and from a QVariantMap. You can query the
number of (key, value) pairs with size(), insert(), and remove() entries from it
and iterate over its content using the standard C++ iterator pattern.
QJsonObject is an implicitly shared class, and shares the data with the document
it has been created from as long as it is not being modified.
You can convert the object to and from text based JSON through QJsonDocument.
\sa {JSON Support in Qt}, {Saving and Loading a Game}
|
41339 |
- |
| qjsonobject.h |
|
18554 |
- |
| qjsonparseerror.h |
|
1037 |
- |
| qjsonparser.cpp |
!
\class QJsonParseError
\inmodule QtCore
\ingroup json
\ingroup shared
\ingroup qtserialization
\reentrant
\since 5.0
\brief The QJsonParseError class is used to report errors during JSON parsing.
\sa {JSON Support in Qt}, {Saving and Loading a Game}
|
24646 |
- |
| qjsonparser_p.h |
|
1321 |
- |
| qjsonvalue.cpp |
!
\class QJsonValue
\inmodule QtCore
\ingroup json
\ingroup shared
\ingroup qtserialization
\reentrant
\since 5.0
\brief The QJsonValue class encapsulates a value in JSON.
\compares equality
\compareswith equality QJsonValueConstRef QJsonValueRef
\endcompareswith
A value in JSON can be one of 6 basic types:
JSON is a format to store structured data. It has 6 basic data types:
\list
\li bool QJsonValue::Bool
\li double QJsonValue::Double
\li string QJsonValue::String
\li array QJsonValue::Array
\li object QJsonValue::Object
\li null QJsonValue::Null
\endlist
A value can represent any of the above data types. In addition, QJsonValue has one special
flag to represent undefined values. This can be queried with isUndefined().
The type of the value can be queried with type() or accessors like isBool(), isString(), and so on.
Likewise, the value can be converted to the type stored in it using the toBool(), toString() and so on.
Values are strictly typed internally and contrary to QVariant will not attempt to do any implicit type
conversions. This implies that converting to a type that is not stored in the value will return a default
constructed return value.
\section1 QJsonValueRef
QJsonValueRef is a helper class for QJsonArray and QJsonObject.
When you get an object of type QJsonValueRef, you can
use it as if it were a reference to a QJsonValue. If you assign to it,
the assignment will apply to the element in the QJsonArray or QJsonObject
from which you got the reference.
The following methods return QJsonValueRef:
\list
\li \l {QJsonArray}::operator[](qsizetype i)
\li \l {QJsonObject}::operator[](const QString & key) const
\endlist
\sa {JSON Support in Qt}, {Saving and Loading a Game}
|
35738 |
- |
| qjsonvalue.h |
|
13854 |
- |
| qjsonwriter.cpp |
|
6936 |
- |
| qjsonwriter_p.h |
|
991 |
- |
| qtextstream.cpp |
|
85363 |
- |
| qtextstream.h |
|
8861 |
- |
| qtextstream_p.h |
|
4138 |
- |
| qxmlstream.cpp |
end |
145499 |
- |
| qxmlstream.g |
|
45314 |
- |
| qxmlstream.h |
|
18056 |
- |
| qxmlstream_p.h |
end |
19348 |
- |
| qxmlstreamgrammar.cpp |
|
21421 |
- |
| qxmlstreamgrammar_p.h |
|
3078 |
- |
| qxmlstreamparser_p.h |
|
32606 |
- |
| qxmlutils.cpp |
TODO:
- isNameChar() doesn't have to be public, it's only needed in
qdom.cpp -- refactor fixedXmlName() to use isNCName()
- A lot of functions can be inlined.
|
13587 |
- |
| qxmlutils_p.h |
!
\internal
\short This class contains helper functions related to XML, for validating character classes,
productions in the XML specification, and so on.
|
1538 |
- |