Protocole de correspondance
***************************

Voir aussi "PyObject_GetItem()", "PyObject_SetItem()" et
"PyObject_DelItem()".

int PyMapping_Check(PyObject *o)

   Return "1" if the object provides mapping protocol or supports
   slicing, and "0" otherwise.  Note that it returns "1" for Python
   classes with a "__getitem__()" method since in general case it is
   impossible to determine what type of keys it supports. This
   function always succeeds.

Py_ssize_t PyMapping_Size(PyObject *o)
Py_ssize_t PyMapping_Length(PyObject *o)

   Renvoie le nombre de clefs dans l'objet *o* et "-1" en cas d'échec.
   C'est l'équivalent de l'expression Python "len(o)".

PyObject* PyMapping_GetItemString(PyObject *o, const char *key)
    *Return value: New reference.*

   Return element of *o* corresponding to the string *key* or "NULL"
   on failure. This is the equivalent of the Python expression
   "o[key]". See also "PyObject_GetItem()".

int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)

   Map the string *key* to the value *v* in object *o*.  Returns "-1"
   on failure.  This is the equivalent of the Python statement "o[key]
   = v". See also "PyObject_SetItem()".

int PyMapping_DelItem(PyObject *o, PyObject *key)

   Supprime la correspondance associée à l'objet *key* dans l'objet
   *o*. Renvoie "-1" en cas d'échec. C'est l'équivalent de la commande
   Python "del o[key]". C'est un alias pour "PyObject_DelItem()".

int PyMapping_DelItemString(PyObject *o, const char *key)

   Supprime la correspondance associée à la chaîne *key* dans l'objet
   *o*. Renvoie "-1" en cas d'échec. C'est l'équivalent de la commande
   Python "del o[key]".

int PyMapping_HasKey(PyObject *o, PyObject *key)

   Renvoie "1" si l'objet de correspondance possède une clef *key* et
   "0" sinon. C'est l'équivalent de l'expression Python "key in o".
   Cette fonction ne provoque jamais d'erreur.

   Notez que les exceptions qui surviennent pendant l'appel de la
   méthode "__getitem__()" seront supprimées. Pour obtenir le rapport
   d'erreur, utilisez plutôt "PyObject_GetItem()".

int PyMapping_HasKeyString(PyObject *o, const char *key)

   Renvoie "1" si l'objet de correspondance possède une clef *key* et
   "0" sinon. C'est l'équivalent de l'expression Python "key in o".
   Cette fonction ne provoque jamais d'erreur.

   Notez que les exceptions qui surviennent en créant une chaîne de
   caractères temporaire pendant l'appel de la méthode "__getitem__()"
   seront supprimées. Pour obtenir le rapport d'erreur, utilisez
   plutôt "PyMapping_GetItemString()".

PyObject* PyMapping_Keys(PyObject *o)
    *Return value: New reference.*

   On success, return a list of the keys in object *o*.  On failure,
   return "NULL".

   Modifié dans la version 3.7: Auparavant, la fonction renvoyait une
   liste ou un n-uplet.

PyObject* PyMapping_Values(PyObject *o)
    *Return value: New reference.*

   On success, return a list of the values in object *o*.  On failure,
   return "NULL".

   Modifié dans la version 3.7: Auparavant, la fonction renvoyait une
   liste ou un n-uplet.

PyObject* PyMapping_Items(PyObject *o)
    *Return value: New reference.*

   On success, return a list of the items in object *o*, where each
   item is a tuple containing a key-value pair.  On failure, return
   "NULL".

   Modifié dans la version 3.7: Auparavant, la fonction renvoyait une
   liste ou un n-uplet.
