本文整理汇总了C++中KValueRef::ToBool方法的典型用法代码示例。如果您正苦于以下问题:C++ KValueRef::ToBool方法的具体用法?C++ KValueRef::ToBool怎么用?C++ KValueRef::ToBool使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KValueRef
的用法示例。
在下文中一共展示了KValueRef::ToBool方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Dispatch
bool EventListener::Dispatch(KObjectRef thisObject, const ValueList& args, bool synchronous)
{
KValueRef result = RunOnMainThread(this->callback, thisObject, args, synchronous);
if (result->IsBool())
return result->ToBool();
return true;
}
示例2: GetBool
bool KObject::GetBool(const char* name, bool defaultValue)
{
KValueRef prop = this->Get(name);
if (prop->IsBool())
{
return prop->ToBool();
}
else
{
return defaultValue;
}
}
示例3: AddKrollValueToPHPArray
void KPHPArrayObject::AddKrollValueToPHPArray(KValueRef value, zval *phpArray)
{
if (value->IsNull() || value->IsUndefined())
{
add_next_index_null(phpArray);
}
else if (value->IsBool())
{
if (value->ToBool())
add_next_index_bool(phpArray, 1);
else
add_next_index_bool(phpArray, 0);
}
else if (value->IsNumber())
{
/* No way to check whether the number is an
integer or a double here. All Kroll numbers
are doubles, so return a double. This could
cause some PHP to function incorrectly if it's
doing strict type checking. */
add_next_index_double(phpArray, value->ToNumber());
}
else if (value->IsString())
{
add_next_index_stringl(phpArray, (char *) value->ToString(), strlen(value->ToString()), 1);
}
else if (value->IsObject())
{
/*TODO: Implement*/
}
else if (value->IsMethod())
{
/*TODO: Implement*/
}
else if (value->IsList())
{
zval *phpValue;
AutoPtr<KPHPArrayObject> pl = value->ToList().cast<KPHPArrayObject>();
if (!pl.isNull())
phpValue = pl->ToPHP();
else
phpValue = PHPUtils::ToPHPValue(value);
add_next_index_zval(phpArray, phpValue);
}
}
示例4: FindEvaluatorWithMethod
KObjectRef Script::FindEvaluatorWithMethod(const char *method, const char *arg)
{
ValueList args;
args.push_back(Value::NewString(arg));
for (size_t i = 0; i < evaluators->Size(); i++)
{
KMethodRef finder = evaluators->At(i)->ToObject()->GetMethod(method);
if (!finder.isNull())
{
KValueRef result = finder->Call(args);
if (result->IsBool() && result->ToBool())
{
return evaluators->At(i)->ToObject();
}
}
}
return 0;
}
示例5: convert
void convert (Statement &select, KValueRef arg)
{
if (arg->IsString())
{
std::string *s = new std::string(arg->ToString());
select , use(*s);
strings.push_back(s);
}
else if (arg->IsInt())
{
int *i = new int(arg->ToInt());
select , use(*i);
ints.push_back(i);
}
else if (arg->IsDouble())
{
double *d = new double(arg->ToDouble());
select , use(*d);
doubles.push_back(d);
}
else if (arg->IsBool())
{
bool *b = new bool(arg->ToBool());
select , use(*b);
bools.push_back(b);
}
else if (arg->IsNull() || arg->IsUndefined())
{
// in this case, we bind a null string (dequoted)
std::string *s = new std::string("null");
select , use(s);
strings.push_back(s);
}
else
{
throw ValueException::FromFormat("Unsupport type for argument: %s",
arg->GetType().c_str());
}
}