diff options
author | Guido van Rossum <guido@python.org> | 1993-03-27 18:11:32 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1993-03-27 18:11:32 (GMT) |
commit | 4b1302bd1d211881178618aa8f41fa4460180f2e (patch) | |
tree | 3522e4184b9f40503d9e76e9197a2b251a03e7d0 /Include/mappingobject.h | |
parent | aff9470d23473243d1ca05a5beffa0e84d92a370 (diff) | |
download | cpython-4b1302bd1d211881178618aa8f41fa4460180f2e.zip cpython-4b1302bd1d211881178618aa8f41fa4460180f2e.tar.gz cpython-4b1302bd1d211881178618aa8f41fa4460180f2e.tar.bz2 |
Generalized version of dictionaries, with compatibility hacks.
Diffstat (limited to 'Include/mappingobject.h')
-rw-r--r-- | Include/mappingobject.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Include/mappingobject.h b/Include/mappingobject.h new file mode 100644 index 0000000..83c3380 --- /dev/null +++ b/Include/mappingobject.h @@ -0,0 +1,43 @@ +/*********************************************************** +Copyright 1991, 1992, 1993 by Stichting Mathematisch Centrum, +Amsterdam, The Netherlands. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +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. +*/ + +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)); |