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

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

51自学网 2021-06-01 20:51:57
  C++
这篇教程C++ GET_TC函数代码示例写得很实用,希望能帮到您。

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

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

示例1: Iter_iterBegin

//=============================================================================// Iterator iteration functions// itemValue is borrowed reference, no ref counting//=============================================================================void Iter_iterBegin(JSOBJ obj, JSONTypeContext *tc){  GET_TC(tc)->itemValue = NULL;  GET_TC(tc)->iterator = PyObject_GetIter(obj);}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:9,


示例2: PyStringToUTF8

static void *NewObjPyStringToUTF8(JSOBJ _obj, JSONTypeContext *tc, void *outValue, size_t *_outLen){    return PyStringToUTF8(GET_TC(tc)->newObj, tc, outValue, _outLen);}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:4,


示例3: Tuple_iterBegin

//=============================================================================// Tuple iteration functions// itemValue is borrowed reference, no ref counting//=============================================================================void Tuple_iterBegin(JSOBJ obj, JSONTypeContext *tc){  GET_TC(tc)->index = 0;  GET_TC(tc)->size = PyTuple_GET_SIZE( (PyObject *) obj);  GET_TC(tc)->itemValue = NULL;}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:10,


示例4: PyString_AS_STRING

char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen){  *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);  return PyString_AS_STRING(GET_TC(tc)->itemName);}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:5,


示例5: Dict_iterNext

static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc){#if PY_MAJOR_VERSION >= 3  PyObject* itemNameTmp;#endif  if (GET_TC(tc)->itemName)  {    Py_DECREF(GET_TC(tc)->itemName);    GET_TC(tc)->itemName = NULL;  }  if (!(GET_TC(tc)->itemName = PyIter_Next(GET_TC(tc)->iterator)))  {    PRINTMARK();    return 0;  }  if (!(GET_TC(tc)->itemValue = PyObject_GetItem(GET_TC(tc)->dictObj, GET_TC(tc)->itemName)))  {    PRINTMARK();    return 0;  }  if (PyUnicode_Check(GET_TC(tc)->itemName))  {    GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);  }  else  if (!PyString_Check(GET_TC(tc)->itemName))  {    if (UNLIKELY(GET_TC(tc)->itemName == Py_None))    {      GET_TC(tc)->itemName = PyString_FromString("null");      return 1;    }    GET_TC(tc)->itemName = PyObject_Str(GET_TC(tc)->itemName);#if PY_MAJOR_VERSION >= 3    itemNameTmp = GET_TC(tc)->itemName;    GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);    Py_DECREF(itemNameTmp);#endif  }  else  {    Py_INCREF(GET_TC(tc)->itemName);  }  PRINTMARK();  return 1;}
开发者ID:esnme,项目名称:ultrajson,代码行数:51,


示例6: List_iterBegin

//=============================================================================// List iteration functions// itemValue is borrowed from object (which is list). No refcounting//=============================================================================void List_iterBegin(JSOBJ obj, JSONTypeContext *tc){  GET_TC(tc)->index =  0;  GET_TC(tc)->size = PyList_GET_SIZE( (PyObject *) obj);}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:9,


示例7: Dict_iterNext

int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc){#if PY_MAJOR_VERSION >= 3  PyObject* itemNameTmp;#endif  if (GET_TC(tc)->itemName)  {    Py_DECREF(GET_TC(tc)->itemName);    GET_TC(tc)->itemName = NULL;  }  if (!PyDict_Next ( (PyObject *)GET_TC(tc)->dictObj, &GET_TC(tc)->index, &GET_TC(tc)->itemName, &GET_TC(tc)->itemValue))  {    PRINTMARK();    return 0;  }  if (PyUnicode_Check(GET_TC(tc)->itemName))  {    GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);  }  else    if (!PyString_Check(GET_TC(tc)->itemName))    {      GET_TC(tc)->itemName = PyObject_Str(GET_TC(tc)->itemName);#if PY_MAJOR_VERSION >= 3      itemNameTmp = GET_TC(tc)->itemName;      GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);      Py_DECREF(itemNameTmp);#endif    }    else    {      Py_INCREF(GET_TC(tc)->itemName);    }    PRINTMARK();    return 1;}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:40,


示例8: Object_getDoubleValue

double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc){  double ret;  GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);  return ret;}
开发者ID:Annigilator,项目名称:ultrajson,代码行数:6,


示例9: Object_iterNext

int Object_iterNext(JSOBJ obj, JSONTypeContext *tc){  return GET_TC(tc)->iterNext(obj, tc);}
开发者ID:Annigilator,项目名称:ultrajson,代码行数:4,


示例10: Object_getUnsignedLongValue

JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc){  JSUINT64 ret;  GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);  return ret;}
开发者ID:Annigilator,项目名称:ultrajson,代码行数:6,


示例11: Object_getIntValue

JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc){  JSINT32 ret;  GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);  return ret;}
开发者ID:Annigilator,项目名称:ultrajson,代码行数:6,


示例12: GET_TC

const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen){  return GET_TC(tc)->PyTypeToJSON (obj, tc, NULL, _outLen);}
开发者ID:Annigilator,项目名称:ultrajson,代码行数:4,


示例13: SortedDict_iterNext

int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc){  PyObject *items = NULL, *item = NULL, *key = NULL, *value = NULL;  Py_ssize_t i, nitems;#if PY_MAJOR_VERSION >= 3  PyObject* keyTmp;#endif  // Upon first call, obtain a list of the keys and sort them. This follows the same logic as the  // stanard library's _json.c sort_keys handler.  if (GET_TC(tc)->newObj == NULL)  {    // Obtain the list of keys from the dictionary.    items = PyMapping_Keys(GET_TC(tc)->dictObj);    if (items == NULL)    {      goto error;    }    else if (!PyList_Check(items))    {      PyErr_SetString(PyExc_ValueError, "keys must return list");      goto error;    }    // Sort the list.    if (PyList_Sort(items) < 0)    {      goto error;    }    // Obtain the value for each key, and pack a list of (key, value) 2-tuples.    nitems = PyList_GET_SIZE(items);    for (i = 0; i < nitems; i++)    {      key = PyList_GET_ITEM(items, i);      value = PyDict_GetItem(GET_TC(tc)->dictObj, key);      // Subject the key to the same type restrictions and conversions as in Dict_iterGetValue.      if (PyUnicode_Check(key))      {        key = PyUnicode_AsUTF8String(key);      }      else if (!PyString_Check(key))      {        key = PyObject_Str(key);#if PY_MAJOR_VERSION >= 3        keyTmp = key;        key = PyUnicode_AsUTF8String(key);        Py_DECREF(keyTmp);#endif      }      else      {        Py_INCREF(key);      }      item = PyTuple_Pack(2, key, value);      if (item == NULL)      {        goto error;      }      PyList_SET_ITEM(items, i, item);      Py_DECREF(key);    }    // Store the sorted list of tuples in the newObj slot.    GET_TC(tc)->newObj = items;    GET_TC(tc)->size = nitems;  }  if (GET_TC(tc)->index >= GET_TC(tc)->size)  {    PRINTMARK();    return 0;  }  item = PyList_GET_ITEM(GET_TC(tc)->newObj, GET_TC(tc)->index);  GET_TC(tc)->itemName = PyTuple_GET_ITEM(item, 0);  GET_TC(tc)->itemValue = PyTuple_GET_ITEM(item, 1);  GET_TC(tc)->index++;  return 1;error:  Py_XDECREF(item);  Py_XDECREF(key);  Py_XDECREF(value);  Py_XDECREF(items);  return -1;}
开发者ID:Annigilator,项目名称:ultrajson,代码行数:89,


示例14: Object_beginTypeContext

static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc){  PyObject *obj, *objRepr, *exc;  TypeContext *pc;  PRINTMARK();  if (!_obj)  {    tc->type = JT_INVALID;    return;  }  obj = (PyObject*) _obj;  tc->prv = PyObject_Malloc(sizeof(TypeContext));  pc = (TypeContext *) tc->prv;  if (!pc)  {    tc->type = JT_INVALID;    PyErr_NoMemory();    return;  }  pc->newObj = NULL;  pc->dictObj = NULL;  pc->itemValue = NULL;  pc->itemName = NULL;  pc->iterator = NULL;  pc->attrList = NULL;  pc->index = 0;  pc->size = 0;  pc->longValue = 0;  pc->rawJSONValue = NULL;  if (PyIter_Check(obj))  {    PRINTMARK();    goto ISITERABLE;  }  if (PyBool_Check(obj))  {    PRINTMARK();    tc->type = (obj == Py_True) ? JT_TRUE : JT_FALSE;    return;  }  else  if (PyLong_Check(obj))  {    PRINTMARK();    pc->PyTypeToJSON = PyLongToINT64;    tc->type = JT_LONG;    GET_TC(tc)->longValue = PyLong_AsLongLong(obj);    exc = PyErr_Occurred();    if (!exc)    {        return;    }    if (exc && PyErr_ExceptionMatches(PyExc_OverflowError))    {      PyErr_Clear();      pc->PyTypeToJSON = PyLongToUINT64;      tc->type = JT_ULONG;      GET_TC(tc)->unsignedLongValue = PyLong_AsUnsignedLongLong(obj);      exc = PyErr_Occurred();      if (exc && PyErr_ExceptionMatches(PyExc_OverflowError))      {        PRINTMARK();        goto INVALID;      }    }    return;  }  else  if (PyInt_Check(obj))  {    PRINTMARK();#ifdef _LP64    pc->PyTypeToJSON = PyIntToINT64; tc->type = JT_LONG;#else    pc->PyTypeToJSON = PyIntToINT32; tc->type = JT_INT;#endif    return;  }  else  if (PyString_Check(obj))  {    PRINTMARK();    pc->PyTypeToJSON = PyStringToUTF8; tc->type = JT_UTF8;    return;  }  else  if (PyUnicode_Check(obj))  {    PRINTMARK();    pc->PyTypeToJSON = PyUnicodeToUTF8; tc->type = JT_UTF8;    return;  }//.........这里部分代码省略.........
开发者ID:esnme,项目名称:ultrajson,代码行数:101,


示例15: Dir_iterNext

int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc){  PyObject *obj = (PyObject *) _obj;  PyObject *itemValue = GET_TC(tc)->itemValue;  PyObject *itemName = GET_TC(tc)->itemName;  PyObject* attr;  PyObject* attrName;  char* attrStr;  if (itemValue)  {    Py_DECREF(GET_TC(tc)->itemValue);    GET_TC(tc)->itemValue = itemValue = NULL;  }  if (itemName)  {    Py_DECREF(GET_TC(tc)->itemName);    GET_TC(tc)->itemName = itemName = NULL;  }  for (; GET_TC(tc)->index  < GET_TC(tc)->size; GET_TC(tc)->index ++)  {    attrName = PyList_GET_ITEM(GET_TC(tc)->attrList, GET_TC(tc)->index);#if PY_MAJOR_VERSION >= 3    attr = PyUnicode_AsUTF8String(attrName);#else    attr = attrName;    Py_INCREF(attr);#endif    attrStr = PyString_AS_STRING(attr);    if (attrStr[0] == '_')    {      PRINTMARK();      Py_DECREF(attr);      continue;    }    itemValue = PyObject_GetAttr(obj, attrName);    if (itemValue == NULL)    {      PyErr_Clear();      Py_DECREF(attr);      PRINTMARK();      continue;    }    if (PyCallable_Check(itemValue))    {      Py_DECREF(itemValue);      Py_DECREF(attr);      PRINTMARK();      continue;    }    PRINTMARK();    itemName = attr;    break;  }  if (itemName == NULL)  {    GET_TC(tc)->index = GET_TC(tc)->size;    GET_TC(tc)->itemValue = NULL;    return 0;  }  GET_TC(tc)->itemName = itemName;  GET_TC(tc)->itemValue = itemValue;  GET_TC(tc)->index ++;  PRINTMARK();  return 1;}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:75,


示例16: Object_iterEnd

void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc){  GET_TC(tc)->iterEnd(obj, tc);}
开发者ID:Annigilator,项目名称:ultrajson,代码行数:4,


示例17: Dir_iterGetValue

JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc){  PRINTMARK();  return GET_TC(tc)->itemValue;}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:5,


示例18: Object_iterGetValue

JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc){  return GET_TC(tc)->iterGetValue(obj, tc);}
开发者ID:Annigilator,项目名称:ultrajson,代码行数:4,


示例19: Dict_iterBegin

//=============================================================================// Dict iteration functions// itemName might converted to string (Python_Str). Do refCounting// itemValue is borrowed from object (which is dict). No refCounting//=============================================================================void Dict_iterBegin(JSOBJ obj, JSONTypeContext *tc){  GET_TC(tc)->index = 0;  PRINTMARK();}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:10,


示例20: Dict_iterGetValue

JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc){  return GET_TC(tc)->itemValue;}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:4,


示例21:

static void *PyLongToINT64(JSOBJ _obj, JSONTypeContext *tc, void *outValue, size_t *_outLen){  *((JSINT64 *) outValue) = GET_TC(tc)->longValue;  return NULL;}
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:5,


示例22: Object_beginTypeContext

void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc){  PyObject *obj, *exc, *toFunc;  TypeContext *pc;  PRINTMARK();  if (!_obj) {    tc->type = JT_INVALID;    return;  }  obj = (PyObject*) _obj;  tc->prv = PyObject_Malloc(sizeof(TypeContext));  pc = (TypeContext *) tc->prv;  if (!pc)  {    tc->type = JT_INVALID;    PyErr_NoMemory();    return;  }  pc->newObj = NULL;  pc->dictObj = NULL;  pc->itemValue = NULL;  pc->itemName = NULL;  pc->attrList = NULL;  pc->index = 0;  pc->size = 0;  pc->longValue = 0;  if (PyIter_Check(obj))  {    PRINTMARK();    goto ISITERABLE;  }  if (PyBool_Check(obj))  {    PRINTMARK();    tc->type = (obj == Py_True) ? JT_TRUE : JT_FALSE;    return;  }  else  if (PyLong_Check(obj))  {    PRINTMARK();    pc->PyTypeToJSON = PyLongToINT64;    tc->type = JT_LONG;    GET_TC(tc)->longValue = PyLong_AsLongLong(obj);    exc = PyErr_Occurred();    if (exc && PyErr_ExceptionMatches(PyExc_OverflowError))    {      PRINTMARK();      goto INVALID;    }    return;  }  else  if (PyInt_Check(obj))  {    PRINTMARK();#ifdef _LP64    pc->PyTypeToJSON = PyIntToINT64; tc->type = JT_LONG;#else    pc->PyTypeToJSON = PyIntToINT32; tc->type = JT_INT;#endif    return;  }  else  if (PyString_Check(obj))  {    PRINTMARK();    pc->PyTypeToJSON = PyStringToUTF8; tc->type = JT_UTF8;    return;  }  else  if (PyUnicode_Check(obj))  {    PRINTMARK();    pc->PyTypeToJSON = PyUnicodeToUTF8; tc->type = JT_UTF8;    return;  }  else  if (PyFloat_Check(obj) || (type_decimal && PyObject_IsInstance(obj, type_decimal)))  {    PRINTMARK();    pc->PyTypeToJSON = PyFloatToDOUBLE; tc->type = JT_DOUBLE;    return;  }  else  if (PyDateTime_Check(obj))  {    PRINTMARK();    pc->PyTypeToJSON = PyDateTimeToINT64; tc->type = JT_LONG;    return;  }  else  if (PyDate_Check(obj))//.........这里部分代码省略.........
开发者ID:jmooreoliva,项目名称:ultrajson,代码行数:101,


示例23: Tuple_iterGetValue

static JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc){  return GET_TC(tc)->itemValue;}
开发者ID:esnme,项目名称:ultrajson,代码行数:4,



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


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