ArnLib
4.0.x
Active Registry Network
|
Container class with string representation for serialized data. More...
#include <XStringMap.hpp>
Public Types | |
typedef XStringMapOptions | Options |
Public Member Functions | |
XStringMap () | |
XStringMap (const XStringMap &other) | |
Make shallow copy (Qt style) More... | |
XStringMap (const QByteArray &xString) | |
XStringMap (const QVariantMap &variantMap) | |
~XStringMap () | |
XStringMap & | operator= (const XStringMap &other) |
Make shallow copy (Qt style) More... | |
int | size () const |
void | clear (bool freeMem=false) |
void | squeeze () |
const Options & | options () const |
void | setOptions (const Options &newOptions) |
int | indexOf (const char *key, int from=0) const |
int | indexOf (const QByteArray &key, int from=0) const |
int | indexOf (const QString &key, int from=0) const |
int | indexOfValue (const QByteArray &value, int from=0) const |
int | indexOfValue (const QString &value, int from=0) const |
int | maxEnumOf (const char *keyPrefix) const |
XStringMap & | add (const char *key, const QByteArray &val) |
XStringMap & | add (const char *key, const char *val) |
XStringMap & | add (const char *keyPrefix, uint eNum, const QByteArray &val) |
XStringMap & | add (const QByteArray &key, const QByteArray &val) |
XStringMap & | add (const char *key, const QString &val) |
XStringMap & | add (const char *keyPrefix, uint eNum, const QString &val) |
XStringMap & | add (const QByteArray &key, const QString &val) |
XStringMap & | add (const QString &key, const QString &val) |
XStringMap & | add (const XStringMap &other) |
XStringMap & | add (const QVariantMap &variantMap) |
XStringMap & | addNum (const char *key, int val) |
XStringMap & | addNum (const QByteArray &key, int val) |
XStringMap & | addNum (const QString &key, int val) |
XStringMap & | addNum (const char *key, uint val) |
XStringMap & | addNum (const QByteArray &key, uint val) |
XStringMap & | addNum (const QString &key, uint val) |
XStringMap & | addNum (const char *key, double val, int precision=-1) |
XStringMap & | addNum (const QByteArray &key, double val, int precision=-1) |
XStringMap & | addNum (const QString &key, double val, int precision=-1) |
XStringMap & | addValues (const QStringList &stringList) |
XStringMap & | set (int i, const QByteArray &val) |
XStringMap & | set (int i, const QString &val) |
XStringMap & | set (const char *key, const QByteArray &val) |
XStringMap & | set (const char *key, const char *val) |
XStringMap & | set (const QByteArray &key, const QByteArray &val) |
XStringMap & | set (const char *key, const QString &val) |
XStringMap & | set (const QByteArray &key, const QString &val) |
XStringMap & | set (const QString &key, const QString &val) |
XStringMap & | setKey (int i, const QByteArray &key) |
const QByteArray & | keyRef (int i) const |
QByteArray | key (int i, const char *def=arnNullptr) const |
QByteArray | key (const QByteArray &value, const char *def=arnNullptr) const |
QByteArray | key (const QString &value, const char *def=arnNullptr) const |
QString | keyString (int i, const QString &def=QString()) const |
QString | keyString (const QString &value, const QString &def=QString()) const |
const QByteArray & | valueRef (int i) const |
QByteArray | value (int i, const char *def=arnNullptr) const |
QByteArray | value (const char *key, const char *def=arnNullptr) const |
QByteArray | value (const char *keyPrefix, uint eNum, const char *def=arnNullptr) const |
QByteArray | value (const QByteArray &key, const char *def=arnNullptr) const |
QByteArray | value (const QByteArray &key, const QByteArray &def) const |
QString | valueString (int i, const QString &def=QString()) const |
QString | valueString (const char *key, const QString &def=QString()) const |
QString | valueString (const char *keyPrefix, uint eNum, const QString &def=QString()) const |
QString | valueString (const QByteArray &key, const QString &def=QString()) const |
QString | valueString (const QString &key, const QString &def=QString()) const |
XStringMap & | remove (int index) |
XStringMap & | remove (const char *key) |
XStringMap & | remove (const QByteArray &key) |
XStringMap & | remove (const QString &key) |
XStringMap & | removeValue (const QByteArray &val) |
XStringMap & | removeValue (const QString &val) |
QByteArray | toXString () const |
QString | toXStringString () const |
bool | fromXString (const QByteArray &inXString, int size=-1) |
bool | fromXString (const QString &inXString) |
void | setEmptyKeysToValue () |
void | reverseOrder () |
QStringList | keys () const |
QStringList | values (const char *keyPrefix=arnNullptr) const |
MQVariantMap | toVariantMap (bool useStringVal) const |
void | stringCode (QByteArray &dst, const QByteArray &src) const |
void | stringDecode (QByteArray &dst, const QByteArray &src) const |
void | append (const char *key, const QByteArray &val) |
void | append (const char *key, const char *val) |
void | append (const char *keyPrefix, uint eNum, const QByteArray &val) |
void | append (const QByteArray &key, const QByteArray &val) |
void | append (const char *key, const QString &val) |
void | append (const char *keyPrefix, uint eNum, const QString &val) |
void | append (const QByteArray &key, const QString &val) |
void | append (const QString &key, const QString &val) |
void | append (const XStringMap &other) |
void | append (const QVariantMap &other) |
XStringMap & | operator+= (const XStringMap &other) |
XStringMap & | operator+= (const QVariantMap &other) |
QByteArray | info () |
Container class with string representation for serialized data.
The primary usage is for creating and parsing serialized data. it's optimized for giving an easy readable representation which never contains char codes below 32 (space).
This class can store data with a key like QMaps. There is a guarantied order of storing, i.e. its not sorted like QMaps.
The stored data can be ascii as well as binary.
Following mapping is done when serialized to the XString:
Special codes below 32: code 0 -> "\0", code 10 -> "\n", code 13 -> "\r"
General codes below 32: code 1 -> "^A", code 2 -> "^B" and so on to code 31
code 32 (space) -> "_", "_" -> "\\_", "^" -> "\^", "\" -> "\\"
Key must be printable (char codes > 32). It must not contain " ", "=", "^" or "|" char. If this is not feasible, use option AnyKey.
The XString can be imported to the XStringMap. To get back stored values, XStringMap is Queried with the keys or by index.
This will print "XString: put id=level val=12"
Definition at line 107 of file XStringMap.hpp.
Definition at line 110 of file XStringMap.hpp.
Arn::XStringMap::XStringMap | ( | ) |
Definition at line 54 of file ArnXStringMap.cpp.
Arn::XStringMap::XStringMap | ( | const XStringMap & | other | ) |
Make shallow copy (Qt style)
Definition at line 60 of file ArnXStringMap.cpp.
|
explicit |
Definition at line 68 of file ArnXStringMap.cpp.
|
explicit |
Definition at line 75 of file ArnXStringMap.cpp.
Arn::XStringMap::~XStringMap | ( | ) |
Definition at line 82 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const char * | key, |
const QByteArray & | val | ||
) |
Definition at line 199 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const char * | key, |
const char * | val | ||
) |
Definition at line 214 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const char * | keyPrefix, |
uint | eNum, | ||
const QByteArray & | val | ||
) |
Definition at line 220 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const QByteArray & | key, |
const QByteArray & | val | ||
) |
Definition at line 230 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const char * | key, |
const QString & | val | ||
) |
Definition at line 236 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const char * | keyPrefix, |
uint | eNum, | ||
const QString & | val | ||
) |
Definition at line 242 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const QByteArray & | key, |
const QString & | val | ||
) |
Definition at line 248 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const QString & | key, |
const QString & | val | ||
) |
Definition at line 254 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const XStringMap & | other | ) |
Definition at line 260 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::add | ( | const QVariantMap & | variantMap | ) |
Definition at line 270 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addNum | ( | const char * | key, |
int | val | ||
) |
Definition at line 286 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addNum | ( | const QByteArray & | key, |
int | val | ||
) |
Definition at line 292 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addNum | ( | const QString & | key, |
int | val | ||
) |
Definition at line 298 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addNum | ( | const char * | key, |
uint | val | ||
) |
Definition at line 304 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addNum | ( | const QByteArray & | key, |
uint | val | ||
) |
Definition at line 310 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addNum | ( | const QString & | key, |
uint | val | ||
) |
Definition at line 316 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addNum | ( | const char * | key, |
double | val, | ||
int | precision = -1 |
||
) |
Definition at line 322 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addNum | ( | const QByteArray & | key, |
double | val, | ||
int | precision = -1 |
||
) |
Definition at line 329 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addNum | ( | const QString & | key, |
double | val, | ||
int | precision = -1 |
||
) |
Definition at line 336 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::addValues | ( | const QStringList & | stringList | ) |
Definition at line 343 of file ArnXStringMap.cpp.
|
inline |
Definition at line 208 of file XStringMap.hpp.
|
inline |
Definition at line 210 of file XStringMap.hpp.
|
inline |
Definition at line 212 of file XStringMap.hpp.
|
inline |
Definition at line 214 of file XStringMap.hpp.
|
inline |
Definition at line 216 of file XStringMap.hpp.
|
inline |
Definition at line 218 of file XStringMap.hpp.
|
inline |
Definition at line 220 of file XStringMap.hpp.
|
inline |
Definition at line 222 of file XStringMap.hpp.
|
inline |
Definition at line 224 of file XStringMap.hpp.
|
inline |
Definition at line 226 of file XStringMap.hpp.
void Arn::XStringMap::clear | ( | bool | freeMem = false | ) |
Definition at line 104 of file ArnXStringMap.cpp.
bool Arn::XStringMap::fromXString | ( | const QByteArray & | inXString, |
int | size = -1 |
||
) |
Definition at line 740 of file ArnXStringMap.cpp.
bool Arn::XStringMap::fromXString | ( | const QString & | inXString | ) |
Definition at line 820 of file ArnXStringMap.cpp.
int Arn::XStringMap::indexOf | ( | const char * | key, |
int | from = 0 |
||
) | const |
Definition at line 136 of file ArnXStringMap.cpp.
int Arn::XStringMap::indexOf | ( | const QByteArray & | key, |
int | from = 0 |
||
) | const |
Definition at line 149 of file ArnXStringMap.cpp.
int Arn::XStringMap::indexOf | ( | const QString & | key, |
int | from = 0 |
||
) | const |
Definition at line 160 of file ArnXStringMap.cpp.
int Arn::XStringMap::indexOfValue | ( | const QByteArray & | value, |
int | from = 0 |
||
) | const |
Definition at line 166 of file ArnXStringMap.cpp.
int Arn::XStringMap::indexOfValue | ( | const QString & | value, |
int | from = 0 |
||
) | const |
Definition at line 177 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::info | ( | ) |
Definition at line 1074 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::key | ( | int | i, |
const char * | def = arnNullptr |
||
) | const |
Definition at line 431 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::key | ( | const QByteArray & | value, |
const char * | def = arnNullptr |
||
) | const |
Definition at line 439 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::key | ( | const QString & | value, |
const char * | def = arnNullptr |
||
) | const |
Definition at line 448 of file ArnXStringMap.cpp.
const QByteArray & Arn::XStringMap::keyRef | ( | int | i | ) | const |
Definition at line 423 of file ArnXStringMap.cpp.
QStringList Arn::XStringMap::keys | ( | ) | const |
Definition at line 647 of file ArnXStringMap.cpp.
QString Arn::XStringMap::keyString | ( | int | i, |
const QString & | def = QString() |
||
) | const |
Definition at line 454 of file ArnXStringMap.cpp.
QString Arn::XStringMap::keyString | ( | const QString & | value, |
const QString & | def = QString() |
||
) | const |
Definition at line 463 of file ArnXStringMap.cpp.
int Arn::XStringMap::maxEnumOf | ( | const char * | keyPrefix | ) | const |
Definition at line 183 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::operator+= | ( | const XStringMap & | other | ) |
Definition at line 1068 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::operator+= | ( | const QVariantMap & | other | ) |
Definition at line 1062 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::operator= | ( | const XStringMap & | other | ) |
Make shallow copy (Qt style)
Definition at line 87 of file ArnXStringMap.cpp.
const XStringMap::Options & Arn::XStringMap::options | ( | ) | const |
Definition at line 124 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::remove | ( | int | index | ) |
Definition at line 569 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::remove | ( | const char * | key | ) |
Definition at line 585 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::remove | ( | const QByteArray & | key | ) |
Definition at line 591 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::remove | ( | const QString & | key | ) |
Definition at line 597 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::removeValue | ( | const QByteArray & | val | ) |
Definition at line 603 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::removeValue | ( | const QString & | val | ) |
Definition at line 609 of file ArnXStringMap.cpp.
void Arn::XStringMap::reverseOrder | ( | ) |
Definition at line 626 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::set | ( | int | i, |
const QByteArray & | val | ||
) |
Definition at line 353 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::set | ( | int | i, |
const QString & | val | ||
) |
Definition at line 364 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::set | ( | const char * | key, |
const QByteArray & | val | ||
) |
Definition at line 370 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::set | ( | const char * | key, |
const char * | val | ||
) |
Definition at line 382 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::set | ( | const QByteArray & | key, |
const QByteArray & | val | ||
) |
Definition at line 388 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::set | ( | const char * | key, |
const QString & | val | ||
) |
Definition at line 394 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::set | ( | const QByteArray & | key, |
const QString & | val | ||
) |
Definition at line 400 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::set | ( | const QString & | key, |
const QString & | val | ||
) |
Definition at line 406 of file ArnXStringMap.cpp.
void Arn::XStringMap::setEmptyKeysToValue | ( | ) |
Definition at line 615 of file ArnXStringMap.cpp.
XStringMap & Arn::XStringMap::setKey | ( | int | i, |
const QByteArray & | key | ||
) |
Definition at line 412 of file ArnXStringMap.cpp.
void Arn::XStringMap::setOptions | ( | const Options & | newOptions | ) |
Definition at line 130 of file ArnXStringMap.cpp.
|
inline |
Definition at line 121 of file XStringMap.hpp.
void Arn::XStringMap::squeeze | ( | ) |
Definition at line 115 of file ArnXStringMap.cpp.
void Arn::XStringMap::stringCode | ( | QByteArray & | dst, |
const QByteArray & | src | ||
) | const |
Definition at line 826 of file ArnXStringMap.cpp.
void Arn::XStringMap::stringDecode | ( | QByteArray & | dst, |
const QByteArray & | src | ||
) | const |
Definition at line 970 of file ArnXStringMap.cpp.
MQVariantMap Arn::XStringMap::toVariantMap | ( | bool | useStringVal | ) | const |
Definition at line 673 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::toXString | ( | ) | const |
Definition at line 688 of file ArnXStringMap.cpp.
QString Arn::XStringMap::toXStringString | ( | ) | const |
Definition at line 733 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::value | ( | int | i, |
const char * | def = arnNullptr |
||
) | const |
Definition at line 478 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::value | ( | const char * | key, |
const char * | def = arnNullptr |
||
) | const |
Definition at line 486 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::value | ( | const char * | keyPrefix, |
uint | eNum, | ||
const char * | def = arnNullptr |
||
) | const |
Definition at line 495 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::value | ( | const QByteArray & | key, |
const char * | def = arnNullptr |
||
) | const |
Definition at line 508 of file ArnXStringMap.cpp.
QByteArray Arn::XStringMap::value | ( | const QByteArray & | key, |
const QByteArray & | def | ||
) | const |
Definition at line 517 of file ArnXStringMap.cpp.
const QByteArray & Arn::XStringMap::valueRef | ( | int | i | ) | const |
Definition at line 470 of file ArnXStringMap.cpp.
QStringList Arn::XStringMap::values | ( | const char * | keyPrefix = arnNullptr | ) | const |
Definition at line 658 of file ArnXStringMap.cpp.
QString Arn::XStringMap::valueString | ( | int | i, |
const QString & | def = QString() |
||
) | const |
Definition at line 527 of file ArnXStringMap.cpp.
QString Arn::XStringMap::valueString | ( | const char * | key, |
const QString & | def = QString() |
||
) | const |
Definition at line 536 of file ArnXStringMap.cpp.
QString Arn::XStringMap::valueString | ( | const char * | keyPrefix, |
uint | eNum, | ||
const QString & | def = QString() |
||
) | const |
Definition at line 543 of file ArnXStringMap.cpp.
QString Arn::XStringMap::valueString | ( | const QByteArray & | key, |
const QString & | def = QString() |
||
) | const |
Definition at line 555 of file ArnXStringMap.cpp.
QString Arn::XStringMap::valueString | ( | const QString & | key, |
const QString & | def = QString() |
||
) | const |
Definition at line 562 of file ArnXStringMap.cpp.