您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sq_pushnull函数代码示例

51自学网 2021-06-03 08:12:00
  C++
这篇教程C++ sq_pushnull函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sq_pushnull函数的典型用法代码示例。如果您正苦于以下问题:C++ sq_pushnull函数的具体用法?C++ sq_pushnull怎么用?C++ sq_pushnull使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sq_pushnull函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: sq_pushnull

void SQDbgServer::SerializeState(){	sq_pushnull(_v);	sq_setdebughook(_v);	sq_pushnull(_v);	sq_seterrorhandler(_v);	const SQChar *sz;	sq_pushobject(_v,_serializefunc);	sq_pushobject(_v,_debugroot);	sq_pushstring(_v,_SC("watches"),-1);	sq_newtable(_v);	for(WatchSetItor i=_watches.begin(); i!=_watches.end(); ++i)	{		sq_pushinteger(_v,i->_id);		sq_pushstring(_v,i->_exp.c_str(),(int)i->_exp.length());		sq_createslot(_v,-3);	}	sq_rawset(_v,-3);	if(SQ_SUCCEEDED(sq_call(_v,1,SQTrue,SQTrue))){		if(SQ_SUCCEEDED(sqstd_getblob(_v,-1,(SQUserPointer*)&sz)))			SendChunk(sz);	}	sq_pop(_v,2);		SetErrorHandlers();}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:26,


示例2: assert

int CEntityNatives::Create(SQVM* pVM){	CResource* pResource = g_pResourceManager->Get(pVM);	assert( pResource );	const char* szName;	sq_getstring(pVM,2,&szName);	if(CEntity::GetType(szName) == ENTITY_TYPE_CUSTOM)	{		CEntity* pEntity = new CEntity(ENTITY_TYPE_CUSTOM, pResource, szName);		if(pEntity->GetID() != INVALID_ENTITY_ID_LONG)		{			sq_pushentity(pVM,pEntity);		}		else		{			delete pEntity;			sq_pushnull(pVM);		}	}	else		sq_pushnull(pVM);	return 1;}
开发者ID:killserver,项目名称:GTA-IV,代码行数:26,


示例3: Sq_GetLayerRects

SQInteger Sq_GetLayerRects(HSQUIRRELVM v) {  const SQChar *What;  sq_getstring(v, 2, &What);  int Layer = FindLayerByName(What);  if(Layer < 0) {    sq_pushnull(v);    return 1;  }  sq_newarray(v, 0);  for(LevelRect *Rect = LayerInfos[Layer].Rects; Rect; Rect=Rect->Next) {    sq_newarray(v, 0);    sq_pushstring(v, LayerInfos[Layer].TilesetLookup[Rect->Type].Name, -1);    sq_arrayappend(v, -2);    sq_pushinteger(v, Rect->X);    sq_arrayappend(v, -2);    sq_pushinteger(v, Rect->Y);    sq_arrayappend(v, -2);    sq_pushinteger(v, Rect->W);    sq_arrayappend(v, -2);    sq_pushinteger(v, Rect->H);    sq_arrayappend(v, -2);    sq_pushinteger(v, ((Rect->Flips&SDL_FLIP_HORIZONTAL)!=0)|(((Rect->Flips&SDL_FLIP_VERTICAL)!=0)<<1));    sq_arrayappend(v, -2);    if(Rect->ExtraInfo)      sq_pushstring(v, Rect->ExtraInfo, -1);    else      sq_pushnull(v);    sq_arrayappend(v, -2);    sq_arrayappend(v, -2);  }  return 1;}
开发者ID:NovaSquirrel,项目名称:PrincessEdit,代码行数:34,


示例4: at

 SQRESULT at(HSQUIRRELVM vm) {     SQObjectPtr self = vm->GetAt(vm->_top-2);          if (type(self) == OT_STRING) {         SQString *selfString = _string(self);         SQInteger index = selfString->_len;                  sq_getinteger(vm, -1, &index);                  auto begin = selfString->_val;         auto end = begin+selfString->_len;                  try {             SQChar *from = NULL;                                       if (index >= 0) {                 from = begin; utf8::advance(from, index, end);                              }             else {                 from = end;                                  for (auto i = index; i < 0; ++i) {                     utf8::prior(from, begin);                 }             }                          auto to = from; utf8::advance(to, 1, end);                          SQInteger resultLen = to-from;             assert((resultLen >= 0) && "Length of the resulting string should not be negative");                          if (resultLen < 0) {                 sq_pushnull(vm);                 return 1;             }                          SQChar *resultSequence = vm->_sharedstate->GetScratchPad(resultLen+1);                          memset(resultSequence, 0, (resultLen+1)*sizeof(SQChar));             memcpy(resultSequence, from, resultLen*sizeof(SQChar));                          SQString *result = SQString::Create(vm->_sharedstate, resultSequence);                          vm->Push(result);         } catch (...) {             sq_pushnull(vm);         }     }     else {         vm->Raise_Error("string::at - Invalid receiver of type %s", GetTypeName(self));         return SQ_ERROR;     }          return 1; }
开发者ID:wanderwaltz,项目名称:SqUTF8,代码行数:57,


示例5: FScan

// variant fscan(handle file[, integer type = TEXT])// Read data from file// For list of supported types look 'scan' function specification// If invalid file handle or unsupported type specified, read nothing and return 'null' valuestatic SQInteger FScan (HSQUIRRELVM){	FILE* file = GetFile();	if (file)	{		SQInteger type = 't';		if (sq_gettop(sqvm) == 3)			sq_getinteger(sqvm, 3, &type);		SQInteger intVal;		switch (type)		{		case 't':			SQChar buf[4096];			fgets(buf, sizeof(buf), file);			buf[sizeof(buf) - 1] = 0;			for (SQChar* c = buf; *c; ++c)			{				if (*c == '/n')				{					*c = 0;					break;				}			}			sq_pushstring(sqvm, buf, -1);			break;		case 'c':			sq_pushinteger(sqvm, fgetc(file));			break;		case 'i':			fscanf_s(file, FMT_INT, &intVal);			sq_pushinteger(sqvm, intVal);			break;		case 'u':			fscanf_s(file, FMT_UINT, &intVal);			sq_pushinteger(sqvm, intVal);			break;		case 'f':			SQFloat fltVal;			fscanf_s(file, "%f", &fltVal);			sq_pushfloat(sqvm, fltVal);			break;		default:			sq_pushnull(sqvm);		}	}	else		sq_pushnull(sqvm);	return 1;}
开发者ID:ruifig,项目名称:nutcracker,代码行数:59,


示例6: switch

bool CSquirrelArgument::push(SQVM* pVM){	switch(type)	{		case OT_NULL:			sq_pushnull(pVM);			break;		case OT_INTEGER:			sq_pushinteger(pVM, data.i);			break;		case OT_BOOL:			sq_pushbool(pVM, data.b);			break;		case OT_FLOAT:			sq_pushfloat(pVM, data.f);			break;		case OT_STRING:			sq_pushstring(pVM, data.str->Get(), data.str->GetLength());			break;		case OT_ARRAY:			{				sq_newarray(pVM, 0);				for(auto pArgument : *data.pArray->GetArguments())				{					pArgument->push(pVM);					sq_arrayappend(pVM, -2);				}				break;			}		case OT_TABLE:			{				sq_newtable(pVM);				int i = 0;				assert( data.pArray->GetArguments()->size() % 2 == 0 );				for(auto iter = data.pArray->GetArguments()->begin(); iter != data.pArray->GetArguments()->end(); ++ iter, ++ i )				{					(*iter)->push(pVM);					++ iter;					(*iter)->push(pVM);					sq_createslot(pVM, -3);				}				break;			}			break;		default:			sq_pushnull(pVM); // table, whatsoever. do not even care. fix it if you dare.			assert(0);			return false;	}	return true;}
开发者ID:B2O,项目名称:IV-Network,代码行数:53,


示例7: sq_toentity

int CEntityNatives::GetParent(SQVM* pVM){	CEntity* pEntity = sq_toentity(pVM, 2);	if(pEntity)	{		CEntity* pParent = pEntity->GetParent();		if(pParent)			sq_pushentity(pVM,pParent);		else			sq_pushnull(pVM);	}	else		sq_pushnull(pVM);	return 1;}
开发者ID:killserver,项目名称:GTA-IV,代码行数:15,


示例8: sq_whirlpool

int sq_whirlpool(HSQUIRRELVM pVM){    if(sq_gettop(pVM) == 2)    {        struct NESSIEstruct w;        u8 digest[DIGESTBYTES];        const char* data;        char out[DIGESTBYTES*2+1] = {0};        int i;        sq_getstring(pVM, 2, &data);        NESSIEinit(&w);        NESSIEadd((const unsigned char*)data, strlen(data)*8, &w);        NESSIEfinalize(&w, digest);        for(i=0; i < DIGESTBYTES; ++i)        {            sprintf(out, "%s%02X", out, digest[i]);        }        sq_pushstring(pVM, out, -1);        return 1;    }    sq_pushnull(pVM);    return 1;}
开发者ID:mabako,项目名称:iv-whirlpool,代码行数:26,


示例9: sq_gettop

/** * squirrel から吉里吉里オブジェクトを取得 */boolTJSObject::getVariant(HSQUIRRELVM v, SQInteger idx, tTJSVariant *variant){    if (sq_gettype(v, idx) == OT_CLASS) {        if (idx < 0) {            idx = sq_gettop(v) + 1 + idx;        }        bool ret = false;        // クラス属性からオブジェクト情
C++ sq_pushroottable函数代码示例
C++ sq_pushbool函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。