NAME
src/dynpmc/gdbmhash.pmc - GDBM PMC
DESCRIPTION
This is an interface to the GNU dbm library.
keys
On inserted and fetch, keys are converted to STRINGs.
store
PMC insert values are converted to STRINGs.
fetch
get_integer_keyed() and get_number_keyed() probably don't make any sense, as integers usually can't be converted.
When a PMC is requested, a String PMC is returned.
Functions
static STRING *make_hash_key(PARROT_INTERP, PMC *key)
Returns a Parrot string for void class_init()
Class initialization.
GDBMHash is a dynamic PMC,
meaning that a dynamically loadable module is created.
On Unix-like systems this is a shared library.
When it is available,
the shared library has linked in the library 'gdbm'.On WIN32 the relevant library seems to be called 'gdbm3'.
So we do a bit of cheating here,
and load it during class initialization.
VOID set_string_native(STRING *value)
Open a or create a new dbm file.
INTVAL get_integer()
Returns the number of pairs in the hash.
A uninitialized GDBMHash returns 0.
INTVAL get_bool()
Returns true if the hash size is not zero.
void set_string_keyed(PMC *key, STRING *value)
STRING *get_string_keyed(PMC *key)
Returns the string value for the element at void set_pmc_keyed(PMC *key, PMC *value)
Convert PMC *get_pmc_keyed(PMC *key)
Returns the PMC value for the element at void set_integer_keyed(PMC *key, INTVAL value)
Convert void set_number_keyed(PMC *key, FLOATVAL value)
Convert INTVAL exists_keyed(PMC *key)
Returns whether a key void delete_keyed(PMC *key)
Deletes the element associated with
*key
.
*key
.
value
to a string and set the string for the key
.
*key
.
value
to a string and set the string for the key
.
value
to a string and set the string for the key
.
*key
exists in the hash.
*key
.SEE ALSO
docs/pdds/pdd08_keys.pod, http://gdbm.gnu.org