/* Do not remove the headers from this file! see /USAGE for more info. */
/* 12-18-98 Tigran made the variables sets and psets initialize when declared
* and removed create().
* Added query_perm_sets() for consistancy
*/
/* This is our property implementation. Use as little as possible */
private nosave mapping sets =([]);
private mapping psets =([]);
nomask void
set(mixed key, mixed value) {
sets[key] = value;
}
nomask void
add(mixed key, mixed value)
{
if(typeof(value) == typeof(sets[key]))
if(!functionp(value))
sets[key]+=value;
}
nomask mixed
query(mixed key){
return sets[key];
}
nomask mapping
query_sets() {
return sets;
}
void
delete(mixed key){
map_delete( sets, key );
}
nomask void set_perm(mixed key, mixed value){
psets[key] = value;
}
nomask mixed query_perm(mixed key){
return psets[key];
}
nomask void delete_perm(mixed key){
map_delete(psets,key);
}
nomask void add_perm(mixed key, mixed value)
{
if(typeof(value) == typeof(psets[key]))
if(!functionp(value))
psets[key]+=value;
}
nomask mapping query_perm_sets()
{
return psets;
}