本文整理汇总了C++中HSQUIRRELVM::GetUp方法的典型用法代码示例。如果您正苦于以下问题:C++ HSQUIRRELVM::GetUp方法的具体用法?C++ HSQUIRRELVM::GetUp怎么用?C++ HSQUIRRELVM::GetUp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HSQUIRRELVM
的用法示例。
在下文中一共展示了HSQUIRRELVM::GetUp方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: array_reduce
static SQInteger array_reduce(HSQUIRRELVM v)
{
SQObject &o = stack_get(v,1);
SQArray *a = _array(o);
SQInteger size = a->Size();
if(size == 0) {
return 0;
}
SQObjectPtr res;
a->Get(0,res);
if(size > 1) {
SQObjectPtr other;
for(SQInteger n = 1; n < size; n++) {
a->Get(n,other);
v->Push(o);
v->Push(res);
v->Push(other);
if(SQ_FAILED(sq_call(v,3,SQTrue,SQFalse))) {
return SQ_ERROR;
}
res = v->GetUp(-1);
v->Pop();
}
}
v->Push(res);
return 1;
}
示例2: sq_arrayappend
SQRESULT sq_arrayappend(HSQUIRRELVM v,SQInteger idx)
{
sq_aux_paramscheck(v,2);
SQObjectPtr *arr;
_GETSAFE_OBJ(v, idx, OT_ARRAY,arr);
_array(*arr)->Append(v->GetUp(-1));
v->Pop();
return SQ_OK;
}
示例3: __map_array
static SQInteger __map_array(SQArray *dest,SQArray *src,HSQUIRRELVM v) {
SQObjectPtr temp;
SQInteger size = src->Size();
for(SQInteger n = 0; n < size; n++) {
src->Get(n,temp);
v->Push(src);
v->Push(temp);
if(SQ_FAILED(sq_call(v,2,SQTrue,SQFalse))) {
return SQ_ERROR;
}
dest->Set(n,v->GetUp(-1));
v->Pop();
}
return 0;
}
示例4: array_filter
static SQInteger array_filter(HSQUIRRELVM v)
{
SQObject &o = stack_get(v,1);
SQArray *a = _array(o);
SQObjectPtr ret = SQArray::Create(_ss(v),0);
SQInteger size = a->Size();
SQObjectPtr val;
for(SQInteger n = 0; n < size; n++) {
a->Get(n,val);
v->Push(o);
v->Push(n);
v->Push(val);
if(SQ_FAILED(sq_call(v,3,SQTrue,SQFalse))) {
return SQ_ERROR;
}
if(!v->IsFalse(v->GetUp(-1))) {
_array(ret)->Append(val);
}
v->Pop();
}
v->Push(ret);
return 1;
}