Generic BigList Resident #67

Parent #1Owner #29Flags read, fertileSource hellcore/hellcore.db

Aliases: biglist, resident, gblr

7 verbs · 13 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
_makethis none thisrxd#677
_killthis none thisrxd#675
_getthis none thisrxd#671
_putthis none thisrxd#671
_genpropthis none thisrxd#6710
_ordthis none thisrxd#672
init_for_corethis none thisrxd#675

Properties

PropertyDefinerFlagsOwnerValue
_genprop#67rc#29"a"
mowner#67rc#29#29
_mgr#67rc#29#7
aliases#1rc#29{"biglist", "resident", "gblr"}
description#1rc#29
list of 1{"This is the object you want to use as a parent in order to @create a place for your biglists to live. Suitably sick souls may wish to reimplement :_genprop and :_kill to reclaim unused properties (this :_kill just throws them away and this :_genprop just relentlessly advances.... who cares). Anyway, you'll need to look at $biglist before this will make sense."}
object_size#1r#29{3784, 1298433815}
hidden_verbs#1rc#29<clear>
phelp_msg#1rc#29<clear>
weight#1rc#29<clear>
owner_verbs#1rc#29<clear>
plural_name#1rc#29<clear>
client_image#1rc#29<clear>
listening#1rc#29<clear>

Ancestry

Ancestors (nearest first): #1 root

Children: none

Call graph

calls n67_0 #67:_make n67_4 #67:_genprop n67_0->n67_4

Source

_make

Spec this none thisFlags rxdOwner #361Definer #67

Referenced by

none

Source

1":_make(...) => new node with value {...}";
2if (!(caller in {this._mgr, this}))
3return E_PERM;
4endif
5prop = this:_genprop();
6add_property(this, prop, args, {$generic_biglist_home.owner, ""});
7return prop;

_kill

Spec this none thisFlags rxdOwner #361Definer #67

Referenced by

none

Source

1":_kill(node) destroys the given node.";
2if (!(caller in {this, this._mgr}))
3return E_PERM;
4endif
5delete_property(this, args[1]);

_get

Spec this none thisFlags rxdOwner #29Definer #67

Referenced by

none

Source

1return (caller == this._mgr) ? this.(args[1]) | E_PERM;

_put

Spec this none thisFlags rxdOwner #29Definer #67

Referenced by

none

Source

1return (caller == this._mgr) ? this.(args[1]) = listdelete(args, 1) | E_PERM;

_genprop

Spec this none thisFlags rxdOwner #29Definer #67

Referenced by

Source

1gp = this._genprop;
2ngp = "";
3for i in [1..length(gp)]
4if (gp[i] != "z")
5ngp = (ngp + "bcdefghijklmnopqrstuvwxyz"[strcmp(gp[i], "`")]) + gp[i + 1..$];
6return " " + (this._genprop = ngp);
7endif
8ngp = ngp + "a";
9endfor
10return " " + (this._genprop = ngp + "a");

_ord

Spec this none thisFlags rxdOwner #29Definer #67

Referenced by

none

Source

1"this is a dummy. You have to decide what your leaves are going to look like and then write this verb accordingly.  It should, given a leaf/list-element, return the corresponding key value.  So for an ordinary alist, where all of the leaves are of the form {key,datum}, you want:";
2return args[1][1];

init_for_core

Spec this none thisFlags rxdOwner #361Definer #67

Referenced by

none

Source

1if (!caller_perms().wizard)
2return E_PERM;
3endif
4this.mowner = $hacker;
5this._mgr = $biglist;