17db96d56Sopenharmony_ci/*[clinic input] 27db96d56Sopenharmony_cipreserve 37db96d56Sopenharmony_ci[clinic start generated code]*/ 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciPyDoc_STRVAR(dict_fromkeys__doc__, 67db96d56Sopenharmony_ci"fromkeys($type, iterable, value=None, /)\n" 77db96d56Sopenharmony_ci"--\n" 87db96d56Sopenharmony_ci"\n" 97db96d56Sopenharmony_ci"Create a new dictionary with keys from iterable and values set to value."); 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci#define DICT_FROMKEYS_METHODDEF \ 127db96d56Sopenharmony_ci {"fromkeys", _PyCFunction_CAST(dict_fromkeys), METH_FASTCALL|METH_CLASS, dict_fromkeys__doc__}, 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_cistatic PyObject * 157db96d56Sopenharmony_cidict_fromkeys_impl(PyTypeObject *type, PyObject *iterable, PyObject *value); 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_cistatic PyObject * 187db96d56Sopenharmony_cidict_fromkeys(PyTypeObject *type, PyObject *const *args, Py_ssize_t nargs) 197db96d56Sopenharmony_ci{ 207db96d56Sopenharmony_ci PyObject *return_value = NULL; 217db96d56Sopenharmony_ci PyObject *iterable; 227db96d56Sopenharmony_ci PyObject *value = Py_None; 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("fromkeys", nargs, 1, 2)) { 257db96d56Sopenharmony_ci goto exit; 267db96d56Sopenharmony_ci } 277db96d56Sopenharmony_ci iterable = args[0]; 287db96d56Sopenharmony_ci if (nargs < 2) { 297db96d56Sopenharmony_ci goto skip_optional; 307db96d56Sopenharmony_ci } 317db96d56Sopenharmony_ci value = args[1]; 327db96d56Sopenharmony_ciskip_optional: 337db96d56Sopenharmony_ci return_value = dict_fromkeys_impl(type, iterable, value); 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ciexit: 367db96d56Sopenharmony_ci return return_value; 377db96d56Sopenharmony_ci} 387db96d56Sopenharmony_ci 397db96d56Sopenharmony_ciPyDoc_STRVAR(dict___contains____doc__, 407db96d56Sopenharmony_ci"__contains__($self, key, /)\n" 417db96d56Sopenharmony_ci"--\n" 427db96d56Sopenharmony_ci"\n" 437db96d56Sopenharmony_ci"True if the dictionary has the specified key, else False."); 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci#define DICT___CONTAINS___METHODDEF \ 467db96d56Sopenharmony_ci {"__contains__", (PyCFunction)dict___contains__, METH_O|METH_COEXIST, dict___contains____doc__}, 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ciPyDoc_STRVAR(dict_get__doc__, 497db96d56Sopenharmony_ci"get($self, key, default=None, /)\n" 507db96d56Sopenharmony_ci"--\n" 517db96d56Sopenharmony_ci"\n" 527db96d56Sopenharmony_ci"Return the value for key if key is in the dictionary, else default."); 537db96d56Sopenharmony_ci 547db96d56Sopenharmony_ci#define DICT_GET_METHODDEF \ 557db96d56Sopenharmony_ci {"get", _PyCFunction_CAST(dict_get), METH_FASTCALL, dict_get__doc__}, 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_cistatic PyObject * 587db96d56Sopenharmony_cidict_get_impl(PyDictObject *self, PyObject *key, PyObject *default_value); 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_cistatic PyObject * 617db96d56Sopenharmony_cidict_get(PyDictObject *self, PyObject *const *args, Py_ssize_t nargs) 627db96d56Sopenharmony_ci{ 637db96d56Sopenharmony_ci PyObject *return_value = NULL; 647db96d56Sopenharmony_ci PyObject *key; 657db96d56Sopenharmony_ci PyObject *default_value = Py_None; 667db96d56Sopenharmony_ci 677db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("get", nargs, 1, 2)) { 687db96d56Sopenharmony_ci goto exit; 697db96d56Sopenharmony_ci } 707db96d56Sopenharmony_ci key = args[0]; 717db96d56Sopenharmony_ci if (nargs < 2) { 727db96d56Sopenharmony_ci goto skip_optional; 737db96d56Sopenharmony_ci } 747db96d56Sopenharmony_ci default_value = args[1]; 757db96d56Sopenharmony_ciskip_optional: 767db96d56Sopenharmony_ci return_value = dict_get_impl(self, key, default_value); 777db96d56Sopenharmony_ci 787db96d56Sopenharmony_ciexit: 797db96d56Sopenharmony_ci return return_value; 807db96d56Sopenharmony_ci} 817db96d56Sopenharmony_ci 827db96d56Sopenharmony_ciPyDoc_STRVAR(dict_setdefault__doc__, 837db96d56Sopenharmony_ci"setdefault($self, key, default=None, /)\n" 847db96d56Sopenharmony_ci"--\n" 857db96d56Sopenharmony_ci"\n" 867db96d56Sopenharmony_ci"Insert key with a value of default if key is not in the dictionary.\n" 877db96d56Sopenharmony_ci"\n" 887db96d56Sopenharmony_ci"Return the value for key if key is in the dictionary, else default."); 897db96d56Sopenharmony_ci 907db96d56Sopenharmony_ci#define DICT_SETDEFAULT_METHODDEF \ 917db96d56Sopenharmony_ci {"setdefault", _PyCFunction_CAST(dict_setdefault), METH_FASTCALL, dict_setdefault__doc__}, 927db96d56Sopenharmony_ci 937db96d56Sopenharmony_cistatic PyObject * 947db96d56Sopenharmony_cidict_setdefault_impl(PyDictObject *self, PyObject *key, 957db96d56Sopenharmony_ci PyObject *default_value); 967db96d56Sopenharmony_ci 977db96d56Sopenharmony_cistatic PyObject * 987db96d56Sopenharmony_cidict_setdefault(PyDictObject *self, PyObject *const *args, Py_ssize_t nargs) 997db96d56Sopenharmony_ci{ 1007db96d56Sopenharmony_ci PyObject *return_value = NULL; 1017db96d56Sopenharmony_ci PyObject *key; 1027db96d56Sopenharmony_ci PyObject *default_value = Py_None; 1037db96d56Sopenharmony_ci 1047db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("setdefault", nargs, 1, 2)) { 1057db96d56Sopenharmony_ci goto exit; 1067db96d56Sopenharmony_ci } 1077db96d56Sopenharmony_ci key = args[0]; 1087db96d56Sopenharmony_ci if (nargs < 2) { 1097db96d56Sopenharmony_ci goto skip_optional; 1107db96d56Sopenharmony_ci } 1117db96d56Sopenharmony_ci default_value = args[1]; 1127db96d56Sopenharmony_ciskip_optional: 1137db96d56Sopenharmony_ci return_value = dict_setdefault_impl(self, key, default_value); 1147db96d56Sopenharmony_ci 1157db96d56Sopenharmony_ciexit: 1167db96d56Sopenharmony_ci return return_value; 1177db96d56Sopenharmony_ci} 1187db96d56Sopenharmony_ci 1197db96d56Sopenharmony_ciPyDoc_STRVAR(dict_pop__doc__, 1207db96d56Sopenharmony_ci"pop($self, key, default=<unrepresentable>, /)\n" 1217db96d56Sopenharmony_ci"--\n" 1227db96d56Sopenharmony_ci"\n" 1237db96d56Sopenharmony_ci"D.pop(k[,d]) -> v, remove specified key and return the corresponding value.\n" 1247db96d56Sopenharmony_ci"\n" 1257db96d56Sopenharmony_ci"If the key is not found, return the default if given; otherwise,\n" 1267db96d56Sopenharmony_ci"raise a KeyError."); 1277db96d56Sopenharmony_ci 1287db96d56Sopenharmony_ci#define DICT_POP_METHODDEF \ 1297db96d56Sopenharmony_ci {"pop", _PyCFunction_CAST(dict_pop), METH_FASTCALL, dict_pop__doc__}, 1307db96d56Sopenharmony_ci 1317db96d56Sopenharmony_cistatic PyObject * 1327db96d56Sopenharmony_cidict_pop_impl(PyDictObject *self, PyObject *key, PyObject *default_value); 1337db96d56Sopenharmony_ci 1347db96d56Sopenharmony_cistatic PyObject * 1357db96d56Sopenharmony_cidict_pop(PyDictObject *self, PyObject *const *args, Py_ssize_t nargs) 1367db96d56Sopenharmony_ci{ 1377db96d56Sopenharmony_ci PyObject *return_value = NULL; 1387db96d56Sopenharmony_ci PyObject *key; 1397db96d56Sopenharmony_ci PyObject *default_value = NULL; 1407db96d56Sopenharmony_ci 1417db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("pop", nargs, 1, 2)) { 1427db96d56Sopenharmony_ci goto exit; 1437db96d56Sopenharmony_ci } 1447db96d56Sopenharmony_ci key = args[0]; 1457db96d56Sopenharmony_ci if (nargs < 2) { 1467db96d56Sopenharmony_ci goto skip_optional; 1477db96d56Sopenharmony_ci } 1487db96d56Sopenharmony_ci default_value = args[1]; 1497db96d56Sopenharmony_ciskip_optional: 1507db96d56Sopenharmony_ci return_value = dict_pop_impl(self, key, default_value); 1517db96d56Sopenharmony_ci 1527db96d56Sopenharmony_ciexit: 1537db96d56Sopenharmony_ci return return_value; 1547db96d56Sopenharmony_ci} 1557db96d56Sopenharmony_ci 1567db96d56Sopenharmony_ciPyDoc_STRVAR(dict_popitem__doc__, 1577db96d56Sopenharmony_ci"popitem($self, /)\n" 1587db96d56Sopenharmony_ci"--\n" 1597db96d56Sopenharmony_ci"\n" 1607db96d56Sopenharmony_ci"Remove and return a (key, value) pair as a 2-tuple.\n" 1617db96d56Sopenharmony_ci"\n" 1627db96d56Sopenharmony_ci"Pairs are returned in LIFO (last-in, first-out) order.\n" 1637db96d56Sopenharmony_ci"Raises KeyError if the dict is empty."); 1647db96d56Sopenharmony_ci 1657db96d56Sopenharmony_ci#define DICT_POPITEM_METHODDEF \ 1667db96d56Sopenharmony_ci {"popitem", (PyCFunction)dict_popitem, METH_NOARGS, dict_popitem__doc__}, 1677db96d56Sopenharmony_ci 1687db96d56Sopenharmony_cistatic PyObject * 1697db96d56Sopenharmony_cidict_popitem_impl(PyDictObject *self); 1707db96d56Sopenharmony_ci 1717db96d56Sopenharmony_cistatic PyObject * 1727db96d56Sopenharmony_cidict_popitem(PyDictObject *self, PyObject *Py_UNUSED(ignored)) 1737db96d56Sopenharmony_ci{ 1747db96d56Sopenharmony_ci return dict_popitem_impl(self); 1757db96d56Sopenharmony_ci} 1767db96d56Sopenharmony_ci 1777db96d56Sopenharmony_ciPyDoc_STRVAR(dict___reversed____doc__, 1787db96d56Sopenharmony_ci"__reversed__($self, /)\n" 1797db96d56Sopenharmony_ci"--\n" 1807db96d56Sopenharmony_ci"\n" 1817db96d56Sopenharmony_ci"Return a reverse iterator over the dict keys."); 1827db96d56Sopenharmony_ci 1837db96d56Sopenharmony_ci#define DICT___REVERSED___METHODDEF \ 1847db96d56Sopenharmony_ci {"__reversed__", (PyCFunction)dict___reversed__, METH_NOARGS, dict___reversed____doc__}, 1857db96d56Sopenharmony_ci 1867db96d56Sopenharmony_cistatic PyObject * 1877db96d56Sopenharmony_cidict___reversed___impl(PyDictObject *self); 1887db96d56Sopenharmony_ci 1897db96d56Sopenharmony_cistatic PyObject * 1907db96d56Sopenharmony_cidict___reversed__(PyDictObject *self, PyObject *Py_UNUSED(ignored)) 1917db96d56Sopenharmony_ci{ 1927db96d56Sopenharmony_ci return dict___reversed___impl(self); 1937db96d56Sopenharmony_ci} 1947db96d56Sopenharmony_ci/*[clinic end generated code: output=582766ac0154c8bf input=a9049054013a1b77]*/ 195