summaryrefslogtreecommitdiffstats
path: root/Include/mappingobject.h
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1993-05-19 14:50:45 (GMT)
committerGuido van Rossum <guido@python.org>1993-05-19 14:50:45 (GMT)
commit25831652fd4c03323066d4cafdc0551c396a993e (patch)
tree69588df0f98b3280402cad3ed95865d06fa21702 /Include/mappingobject.h
parent687dd13bfec51849c93db7c538ff41d4c8ecddcb (diff)
downloadcpython-25831652fd4c03323066d4cafdc0551c396a993e.zip
cpython-25831652fd4c03323066d4cafdc0551c396a993e.tar.gz
cpython-25831652fd4c03323066d4cafdc0551c396a993e.tar.bz2
Several changes in one:
(1) dictionaries/mappings now have attributes values() and items() as well as keys(); at the C level, use the new function mappinggetnext() to iterate over a dictionary. (2) "class C(): ..." is now illegal; you must write "class C: ...". (3) Class objects now know their own name (finally!); and minor improvements to the way how classes, functions and methods are represented as strings. (4) Added an "access" statement and semantics. (This is still experimental -- as long as you don't use the keyword 'access' nothing should be changed.)
Diffstat (limited to 'Include/mappingobject.h')
-rw-r--r--Include/mappingobject.h23
1 files changed, 10 insertions, 13 deletions
diff --git a/Include/mappingobject.h b/Include/mappingobject.h
index 83c3380..fa7402d 100644
--- a/Include/mappingobject.h
+++ b/Include/mappingobject.h
@@ -22,22 +22,19 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
******************************************************************/
-/*
-Mapping object type -- mapping from object to object.
-These functions set errno for errors. Functions mappingremove() and
-mappinginsert() return nonzero for errors, getmappingsize() returns -1,
-the others NULL. A successful call to mappinginsert() calls INCREF()
-for the inserted item.
-*/
+/* Mapping object type -- mapping from hashable object to object */
extern typeobject Mappingtype;
#define is_mappingobject(op) ((op)->ob_type == &Mappingtype)
extern object *newmappingobject PROTO((void));
-extern object *mappinglookup PROTO((object *dp, object *key));
-extern int mappinginsert PROTO((object *dp, object *key, object *item));
-extern int mappingremove PROTO((object *dp, object *key));
-extern int getmappingsize PROTO((object *dp));
-extern object *getmappingkey PROTO((object *dp, int i));
-extern object *getmappingkeys PROTO((object *dp));
+extern object *mappinglookup PROTO((object *mp, object *key));
+extern int mappinginsert PROTO((object *mp, object *key, object *item));
+extern int mappingremove PROTO((object *mp, object *key));
+extern void mappingclear PROTO((object *mp));
+extern int mappinggetnext
+ PROTO((object *mp, int *pos, object **key, object **value));
+extern object *getmappingkeys PROTO((object *mp));
+extern object *getmappingvalues PROTO((object *mp));
+extern object *getmappingitems PROTO((object *mp));