本文整理汇总了C++中QScriptValueImpl::isArray方法的典型用法代码示例。如果您正苦于以下问题:C++ QScriptValueImpl::isArray方法的具体用法?C++ QScriptValueImpl::isArray怎么用?C++ QScriptValueImpl::isArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QScriptValueImpl
的用法示例。
在下文中一共展示了QScriptValueImpl::isArray方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: hasNext
/*!
Returns true if there is at least one item ahead of the iterator
(i.e. the iterator is \e not at the back of the property sequence);
otherwise returns false.
\sa next(), hasPrevious()
*/
bool QScriptValueIterator::hasNext() const
{
Q_D(const QScriptValueIterator);
if ((d->nextIndex != -1) && d->forward)
return true;
if (!d->object.isObject())
return false;
QScriptValueImpl v = QScriptValuePrivate::valueOf(d->object);
int i = d->index;
if ((i != -1) && !d->forward)
--i;
int count = v.memberCount();
bool found = false;
while (! found && ++i < count) {
QScript::Member member;
v.member(i, &member);
found = member.isValid();
if (found && (member.isObjectProperty() || v.isArray())) {
QScriptValueImpl vv;
v.get(member, &vv);
found = vv.isValid();
}
}
QScriptValueIteratorPrivate *that;
that = const_cast<QScriptValueIteratorPrivate*>(d);
if (found) {
that->forward = true;
that->nextIndex = i;
return true;
} else {
that->nextIndex = -1;
return false;
}
}