From: Mark Wooding Date: Mon, 6 Mar 2006 16:56:41 +0000 (+0000) Subject: mappings: Separate mapping methods into read-only and read-write. X-Git-Url: https://git.distorted.org.uk/~mdw/pyke/commitdiff_plain/2a50951098b7fd0c0837dd649791c74ab7e02b16 mappings: Separate mapping methods into read-only and read-write. --- diff --git a/catacomb-python.h b/catacomb-python.h index 40ac758..fa99298 100644 --- a/catacomb-python.h +++ b/catacomb-python.h @@ -256,7 +256,7 @@ extern PyMethodDef *donemethods(void); #define GMAP_KWMETHDECL(func, doc) \ extern PyObject *gmapmeth_##func(PyObject *, PyObject *, PyObject *); -#define GMAP_DOMETHODS(METH, KWMETH) \ +#define GMAP_DOROMETHODS(METH, KWMETH) \ METH (has_key, "D.has_key(KEY) -> BOOL") \ METH (keys, "D.keys() -> LIST") \ METH (values, "D.values() -> LIST") \ @@ -264,14 +264,18 @@ extern PyMethodDef *donemethods(void); METH (iterkeys, "D.iterkeys() -> ITER") \ METH (itervalues, "D.itervalues() -> ITER") \ METH (iteritems, "D.iteritems() -> ITER") \ - METH (clear, "D.clear()") \ KWMETH(get, "D.get(KEY, [default = None]) -> VALUE") \ + +#define GMAP_DOMETHODS(METH, KWMETH) \ + GMAP_DOROMETHODS(METH, KWMETH) \ + METH (clear, "D.clear()") \ KWMETH(setdefault, "D.setdefault(K, [default = None]) -> VALUE") \ KWMETH(pop, "D.pop(KEY, [default = ]) -> VALUE") \ METH (popitem, "D.popitem() -> (KEY, VALUE)") \ METH (update, "D.update(MAP)") GMAP_DOMETHODS(GMAP_METHDECL, GMAP_KWMETHDECL) +#define GMAP_ROMETHODS GMAP_DOROMETHODS(GMAP_METH, GMAP_KWMETH) #define GMAP_METHODS GMAP_DOMETHODS(GMAP_METH, GMAP_KWMETH) extern int gmap_pysize(PyObject *); extern PySequenceMethods gmap_pysequence;