42 explicit QMJsonArray(
const QList<QMPointer<QMJsonValue> > &list);
45 virtual void reserve(int32_t alloc);
47 virtual void clear(
void);
49 virtual int32_t count(
void)
const;
50 virtual int32_t length(
void)
const;
51 virtual int32_t size(
void)
const;
53 virtual bool isEmpty(
void)
const;
54 virtual bool empty(
void)
const;
56 virtual bool contains(
const QMPointer<QMJsonValue> &value)
const;
57 virtual int32_t indexOf(
const QMPointer<QMJsonValue> &value)
const;
58 virtual int32_t lastIndexOf(
const QMPointer<QMJsonValue> &value, int32_t from = -1)
const;
60 virtual bool endsWith(
const QMPointer<QMJsonValue> &value)
const;
61 virtual bool startsWith(
const QMPointer<QMJsonValue> &value)
const;
63 virtual void prepend(
const QMPointer<QMJsonValue> &value);
64 virtual void append(
const QMPointer<QMJsonValue> &value);
65 virtual void insert(int32_t index,
const QMPointer<QMJsonValue> &value);
66 template<
class T>
void prepend(
const T &value);
67 template<
class T>
void append(
const T &value);
68 template<
class T>
void insert(int32_t index,
const T &value);
72 virtual void removeAll(
const QMPointer<QMJsonValue> &value);
73 virtual void removeOne(
const QMPointer<QMJsonValue> &value);
74 virtual void removeAt(int32_t index);
75 virtual void removeFirst(
void);
76 virtual void removeLast(
void);
78 virtual QMPointer<QMJsonValue> takeFirst(
void);
79 virtual QMPointer<QMJsonValue> takeLast(
void);
80 virtual QMPointer<QMJsonValue> takeAt(int32_t index);
81 virtual QMPointer<QMJsonValue> takeAt(int32_t index,
const QMPointer<QMJsonValue> &defaultValue);
82 template<
class T> QMPointer<QMJsonValue> takeAt(int32_t index,
const T &defaultValue);
84 virtual const QMPointer<QMJsonValue> &front(
void)
const;
85 virtual const QMPointer<QMJsonValue> &back(
void)
const;
86 virtual const QMPointer<QMJsonValue> &value(int32_t index)
const;
87 virtual const QMPointer<QMJsonValue> &value(int32_t index,
const QMPointer<QMJsonValue> &defaultValue)
const;
88 template<
class T> QMPointer<QMJsonValue> value(int32_t index,
const T &defaultValue)
const;
90 virtual QList<QMPointer<QMJsonValue> > values(
void)
const;
91 virtual QList<QMPointer<QMJsonValue> > mid(int32_t pos, int32_t length = -1)
const;
93 virtual void move(int32_t from, int32_t to);
94 virtual void replace(int32_t index,
const QMPointer<QMJsonValue> &value);
95 template<
class T>
void replace(int32_t index,
const T &value);
97 virtual bool isNull(int32_t index)
const;
98 virtual bool isBool(int32_t index)
const;
99 virtual bool isDouble(int32_t index)
const;
100 virtual bool isString(int32_t index)
const;
101 virtual bool isArray(int32_t index)
const;
102 virtual bool isObject(int32_t index)
const;
103 template<
class T>
bool is(int32_t index)
const;
105 virtual bool toBool(int32_t index)
const;
106 virtual double toDouble(int32_t index)
const;
107 virtual QString toString(int32_t index)
const;
108 virtual const QMPointer<QMJsonArray> &toArray(int32_t index)
const;
109 virtual const QMPointer<QMJsonObject> &toObject(int32_t index)
const;
111 virtual bool toBool(int32_t index,
bool defaultValue)
const;
112 virtual double toDouble(int32_t index,
double defaultValue)
const;
113 virtual const QString &toString(int32_t index,
const QString &defaultValue)
const;
114 virtual const QMPointer<QMJsonArray> &toArray(int32_t index,
const QMPointer<QMJsonArray> &defaultValue)
const;
115 virtual const QMPointer<QMJsonObject> &toObject(int32_t index,
const QMPointer<QMJsonObject> &defaultValue)
const;
116 template<
class T>
const T &to(int32_t index,
const T &defaultValue)
const;
118 virtual bool fromBool(int32_t index,
bool value);
119 virtual bool fromDouble(int32_t index,
double value);
120 virtual bool fromString(int32_t index,
const QString &value);
121 virtual bool fromArray(int32_t index,
const QMPointer<QMJsonArray> &value);
122 virtual bool fromObject(int32_t index,
const QMPointer<QMJsonObject> &value);
123 virtual bool from(int32_t index,
const QMPointer<QMJsonValue> &value);
124 template <
class T>
bool from(int32_t index,
const T &value);
128 void itemAdded(int32_t index,
const QMPointer<QMJsonValue> &value);
129 void itemRemoved(int32_t index,
const QMPointer<QMJsonValue> &value);
135 QList<QMPointer<QMJsonValue> > mList;
139 QDebug
QM_JSON_EXPORT operator<<(QDebug dbg, const QMPointer<QMJsonArray> &value);
166 if(index < 0 || index >= mList.count())
167 return QMPointer<QMJsonValue>(
new QMJsonValue(defaultValue));
169 auto value = mList.takeAt(index);
178 if(index < 0 || index >= mList.count())
179 return QMPointer<QMJsonValue>(
new QMJsonValue(defaultValue));
181 return mList.at(index);
193 if(index < 0 || index >= this->
count())
196 return mList.at(index)->is<T>();
202 return this->
value(index)->to<T>(defaultValue);
211 #endif // QMJSONARRAY_H virtual void append(const QMPointer< QMJsonValue > &value)
bool is(int32_t index) const
virtual QMPointer< QMJsonValue > takeAt(int32_t index)
virtual void replace(int32_t index, const QMPointer< QMJsonValue > &value)
void itemRemoved(int32_t index, const QMPointer< QMJsonValue > &value)
virtual void prepend(const QMPointer< QMJsonValue > &value)
virtual const QMPointer< QMJsonValue > & value(int32_t index) const
virtual bool from(int32_t index, const QMPointer< QMJsonValue > &value)
virtual void insert(int32_t index, const QMPointer< QMJsonValue > &value)
virtual int32_t count(void) const
const T & to(int32_t index, const T &defaultValue) const
QDebug QM_JSON_EXPORT operator<<(QDebug dbg, const QMJsonArray &array)