本文整理汇总了C++中ValueRef::isUndefined方法的典型用法代码示例。如果您正苦于以下问题:C++ ValueRef::isUndefined方法的具体用法?C++ ValueRef::isUndefined怎么用?C++ ValueRef::isUndefined使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ValueRef
的用法示例。
在下文中一共展示了ValueRef::isUndefined方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: toJsonValue
QJsonValue JsonObject::toJsonValue(const ValueRef value,
V4ObjectSet &visitedObjects)
{
if (value->isNumber())
return QJsonValue(value->toNumber());
else if (value->isBoolean())
return QJsonValue((bool)value->booleanValue());
else if (value->isNull())
return QJsonValue(QJsonValue::Null);
else if (value->isUndefined())
return QJsonValue(QJsonValue::Undefined);
Q_ASSERT(value->engine());
Scope scope(value->engine());
ScopedArrayObject a(scope, value);
if (a)
return toJsonArray(a, visitedObjects);
ScopedObject o(scope, value);
if (o)
return toJsonObject(o, visitedObjects);
return QJsonValue(value->toQString());
}
示例2: parseValue
bool JsonParser::parseValue(ValueRef val)
{
BEGIN << "parse Value" << *json;
switch ((json++)->unicode()) {
case 'n':
if (end - json < 3) {
lastError = QJsonParseError::IllegalValue;
return false;
}
if (*json++ == 'u' &&
*json++ == 'l' &&
*json++ == 'l') {
*val = Primitive::nullValue();
DEBUG << "value: null";
END;
return true;
}
lastError = QJsonParseError::IllegalValue;
return false;
case 't':
if (end - json < 3) {
lastError = QJsonParseError::IllegalValue;
return false;
}
if (*json++ == 'r' &&
*json++ == 'u' &&
*json++ == 'e') {
*val = Primitive::fromBoolean(true);
DEBUG << "value: true";
END;
return true;
}
lastError = QJsonParseError::IllegalValue;
return false;
case 'f':
if (end - json < 4) {
lastError = QJsonParseError::IllegalValue;
return false;
}
if (*json++ == 'a' &&
*json++ == 'l' &&
*json++ == 's' &&
*json++ == 'e') {
*val = Primitive::fromBoolean(false);
DEBUG << "value: false";
END;
return true;
}
lastError = QJsonParseError::IllegalValue;
return false;
case Quote: {
QString value;
if (!parseString(&value))
return false;
DEBUG << "value: string";
END;
val = context->d()->engine->newString(value);
return true;
}
case BeginArray: {
*val = parseArray();
if (val->isUndefined())
return false;
DEBUG << "value: array";
END;
return true;
}
case BeginObject: {
*val = parseObject();
if (val->isUndefined())
return false;
DEBUG << "value: object";
END;
return true;
}
case EndArray:
lastError = QJsonParseError::MissingObject;
return false;
default:
--json;
if (!parseNumber(val))
return false;
DEBUG << "value: number";
END;
}
return true;
}