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

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

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

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

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

示例1: DumpConstants

static void DumpConstants(const ktap_proto *f, DumpState *D){	int i, n = f->sizek;	DumpInt(n, D);	for (i = 0; i < n; i++) {		const ktap_value* o=&f->k[i];		DumpChar(ttypenv(o), D);		switch (ttypenv(o)) {		case KTAP_TNIL:			break;		case KTAP_TBOOLEAN:			DumpChar(bvalue(o), D);			break;		case KTAP_TNUMBER:			DumpNumber(nvalue(o), D);			break;		case KTAP_TSTRING:			DumpString(rawtsvalue(o), D);			break;		default:			printf("ktap: DumpConstants with unknown vaule type %d/n", ttypenv(o));			ktap_assert(0);		}	}	n = f->sizep;	DumpInt(n, D);	for (i = 0; i < n; i++)		DumpFunction(f->p[i], D);}
开发者ID:atmark-techno,项目名称:linux-3.14-at,代码行数:30,


示例2: lua_getmetatable

LUA_API int lua_getmetatable (lua_State *L, int objindex) {  const TValue *obj;  Table *mt = NULL;  int res;  lua_lock(L);  obj = index2addr(L, objindex);  switch (ttypenv(obj)) {    case LUA_TTABLE:      mt = hvalue(obj)->metatable;      break;    case LUA_TUSERDATA:      mt = uvalue(obj)->metatable;      break;    default:      mt = G(L)->mt[ttypenv(obj)];      break;  }  if (mt == NULL)    res = 0;  else {    sethvalue(L, L->top, mt);    api_incr_top(L);    res = 1;  }  lua_unlock(L);  return res;}
开发者ID:AdunSG,项目名称:Pktgen-DPDK,代码行数:27,


示例3: DumpConstants

static void DumpConstants(const Proto* f, DumpState* D){ int i,n=f->sizek; DumpInt(n,D); for (i=0; i<n; i++) {  const TValue* o=&f->k[i];  DumpChar(ttypenv(o),D);  switch (ttypenv(o))  {   case LUA_TNIL:	break;   case LUA_TBOOLEAN:	DumpChar(bvalue(o),D);	break;   case LUA_TNUMBER:	DumpNumber(nvalue(o),D);	break;   case LUA_TSTRING:	DumpString(rawtsvalue(o),D);	break;    default: lua_assert(0);  } } n=f->sizep; DumpInt(n,D); for (i=0; i<n; i++) DumpFunction(f->p[i],D);}
开发者ID:FuzzySmurf,项目名称:GSPCAGE,代码行数:28,


示例4: switch

const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, TMS event) {  Table *mt;  switch (ttypenv(o)) {    case LUA_TTABLE:      mt = hvalue(o)->metatable;      break;    case LUA_TUSERDATA:      mt = uvalue(o)->metatable;      break;    default:      mt = G(L)->mt[ttypenv(o)];  }  return (mt ? luaH_getstr(mt, G(L)->tmname[event]) : luaO_nilobject);}
开发者ID:BattleNWar,项目名称:YDWE,代码行数:14,


示例5: kp_cdata_value

static void kp_cdata_value(ktap_state_t *ks, ktap_val_t *val, void **out_addr,			   size_t *out_size, void **temp){	ktap_cdata_t *cd;	csymbol *cs;	ffi_type type;	switch (ttypenv(val)) {	case KTAP_TYPE_BOOLEAN:		*out_addr = &bvalue(val);		*out_size = sizeof(int);		return;	case KTAP_TYPE_LIGHTUSERDATA:		*out_addr = pvalue(val);		*out_size = sizeof(void *);		return;	case KTAP_TYPE_NUMBER:		*out_addr = &nvalue(val);		*out_size = sizeof(ktap_number);		return;	case KTAP_TYPE_STRING:		*temp = (void *)svalue(val);		*out_addr = temp;		*out_size = sizeof(void *);		return;	}	cd = cdvalue(val);	cs = cd_csym(ks, cd);	type = csym_type(cs);	*out_size = csym_size(ks, cs);	switch (type) {	case FFI_VOID:		kp_error(ks, "Error: Cannot copy data from void type/n");		return;	case FFI_UINT8:	case FFI_INT8:	case FFI_UINT16:	case FFI_INT16:	case FFI_UINT32:	case FFI_INT32:	case FFI_UINT64:	case FFI_INT64:		*out_addr = &cd_int(cd);		return;	case FFI_PTR:		*out_addr = &cd_ptr(cd);		return;	case FFI_STRUCT:	case FFI_UNION:		*out_addr = cd_record(cd);		return;	case FFI_FUNC:	case FFI_UNKNOWN:		kp_error(ks, "Error: internal error for csymbol %s/n",				csym_name(cs));		return;	}}
开发者ID:ktap,项目名称:ktap,代码行数:59,


示例6: index2addr

LUA_API void *lua_touserdata (lua_State *L, int idx) {  StkId o = index2addr(L, idx);  switch (ttypenv(o)) {    case LUA_TUSERDATA: return (rawuvalue(o) + 1);    case LUA_TLIGHTUSERDATA: return pvalue(o);    default: return NULL;  }}
开发者ID:AdunSG,项目名称:Pktgen-DPDK,代码行数:8,


示例7: lua_rawlen

LUA_API size_t lua_rawlen (lua_State *L, int idx) {  StkId o = index2addr(L, idx);  switch (ttypenv(o)) {    case LUA_TSTRING: return tsvalue(o)->len;    case LUA_TUSERDATA: return uvalue(o)->len;    case LUA_TTABLE: return luaH_getn(hvalue(o));    default: return 0;  }}
开发者ID:AdunSG,项目名称:Pktgen-DPDK,代码行数:9,


示例8: lua_setmetatable

LUA_API int lua_setmetatable (lua_State *L, int objindex) {  TValue *obj;  Table *mt;  lua_lock(L);  api_checknelems(L, 1);  obj = index2addr(L, objindex);  api_checkvalidindex(L, obj);  if (ttisnil(L->top - 1))    mt = NULL;  else {    api_check(L, ttistable(L->top - 1), "table expected");    mt = hvalue(L->top - 1);  }  switch (ttypenv(obj)) {    case LUA_TTABLE: {      hvalue(obj)->metatable = mt;      if (mt)        luaC_objbarrierback(L, gcvalue(obj), mt);        luaC_checkfinalizer(L, gcvalue(obj), mt);      break;    }    case LUA_TUSERDATA: {      uvalue(obj)->metatable = mt;      if (mt) {        luaC_objbarrier(L, rawuvalue(obj), mt);        luaC_checkfinalizer(L, gcvalue(obj), mt);      }      break;    }    default: {      G(L)->mt[ttypenv(obj)] = mt;      break;    }  }  L->top--;  lua_unlock(L);  return 1;}
开发者ID:AdunSG,项目名称:Pktgen-DPDK,代码行数:38,


示例9: PrintConstant

static void PrintConstant(const Proto* f, int i){	const TValue* o=&f->k[i];	switch (ttypenv(o))	{	case LUA_TNIL:	printf("nil");	break;	case LUA_TBOOLEAN:	printf(bvalue(o) ? "true" : "false");	break;	case LUA_TNUMBER:	printf(LUA_NUMBER_FMT,nvalue(o));	break;	case LUA_TSTRING:	PrintString(rawtsvalue(o));	break;	default:                /* cannot happen */	printf("? type=%d",ttype(o));	break;	}}
开发者ID:Ander-son,项目名称:libretro-mame,代码行数:22,


示例10: csymf_arg

static csymbol *ffi_get_arg_csym(ktap_state_t *ks, csymbol_func *csf, int idx){	StkId arg;	csymbol *cs;	if (idx < csymf_arg_nr(csf))		return csymf_arg(ks, csf, idx);	arg = kp_arg(ks, idx + 1);	cs = id_to_csym(ks, ffi_get_csym_id(ks, "void *"));	switch (ttypenv(arg)) {	case KTAP_TYPE_LIGHTUSERDATA:	case KTAP_TYPE_BOOLEAN:	case KTAP_TYPE_NUMBER:	case KTAP_TYPE_STRING:		return cs;	case KTAP_TYPE_CDATA:		return cd_csym(ks, cdvalue(arg));	default:		kp_error(ks, "Error: Cannot get type for arg %d/n", idx);		return cs;	}}
开发者ID:awreece,项目名称:ktap,代码行数:23,


示例11: luaV_objlen

void luaV_objlen (lua_State *L, StkId ra, const TValue *rb) {  const TValue *tm;  switch (ttypenv(rb)) {    case LUA_TTABLE: {      Table *h = hvalue(rb);      tm = fasttm(L, h->metatable, TM_LEN);      if (tm) break;  /* metamethod? break switch to call it */      setnvalue(ra, cast_num(luaH_getn(h)));  /* else primitive len */      return;    }    case LUA_TSTRING: {      setnvalue(ra, cast_num(tsvalue(rb)->len));      return;    }    default: {  /* try metamethod */      tm = luaT_gettmbyobj(L, rb, TM_LEN);      if (ttisnil(tm))  /* no metamethod? */        luaG_typeerror(L, rb, "get length of");      break;    }  }  callTM(L, tm, rb, rb, ra, 1);}
开发者ID:lriki,项目名称:Volkoff,代码行数:23,


示例12: kp_cdata_type_match

/* Notice: Even if the types are matched, there may exist the lost of * data in the unpack process due to precision */int kp_cdata_type_match(ktap_state_t *ks, csymbol *cs, ktap_val_t *val){	ffi_type type;	type = csym_type(cs);	if (type == FFI_FUNC)		goto error;	switch (ttypenv(val)) {	case KTAP_TYPE_LIGHTUSERDATA:		if (type != FFI_PTR) goto error;		break;	case KTAP_TYPE_BOOLEAN:	case KTAP_TYPE_NUMBER:		if (type != FFI_UINT8 && type != FFI_INT8		&& type != FFI_UINT16 && type != FFI_INT16		&& type != FFI_UINT32 && type != FFI_INT32		&& type != FFI_UINT64 && type != FFI_INT64)			goto error;		break;	case KTAP_TYPE_STRING:		if (type != FFI_PTR && type != FFI_UINT8 && type != FFI_INT8)			goto error;		break;	case KTAP_TYPE_CDATA:		if (cs != cd_csym(ks, cdvalue(val)))			goto error;		break;	default:		goto error;	}	return 0;error:	return -1;}
开发者ID:ktap,项目名称:ktap,代码行数:38,


示例13: lua_type

LUA_API int lua_type (lua_State *L, int idx) {  StkId o = index2addr(L, idx);  return (isvalid(o) ? ttypenv(o) : LUA_TNONE);}
开发者ID:AdunSG,项目名称:Pktgen-DPDK,代码行数:4,



注:本文中的ttypenv函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ tuner_i2c_xfer_send函数代码示例
C++ ttype函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。