#include "muse_builtins.h"#include "muse_port.h"#include <stdlib.h>#include <memory.h>Include dependency graph for muse_builtin_hashtable.c:

Data Structures | |
| struct | hashtable_t |
| struct | _defs |
Functions | |
| static void | hashtable_init (void *p, muse_cell args) |
| static void | hashtable_mark (void *p) |
| static void | hashtable_destroy (void *p) |
| static void | hashtable_write (void *ptr, void *port) |
| Writes the hashtable out to the given port in the form. | |
| static int | bucket_for_hash (muse_int hash, int modulus) |
| static void | hashtable_rehash (hashtable_t *h, int new_bucket_count) |
| muse_cell | fn_hashtable_stats (muse_env *env, void *context, muse_cell args) |
| static muse_cell * | hashtable_add (hashtable_t *h, muse_cell key, muse_cell value, muse_int *hash_opt) |
| static muse_cell * | hashtable_get (hashtable_t *h, muse_cell key, muse_int *hash_out) |
| muse_cell | fn_hashtable (muse_env *env, hashtable_t *h, muse_cell args) |
| static muse_cell | hashtable_size (void *self) |
| static void | hashtable_merge_one (hashtable_t *h1, muse_cell key, muse_cell new_value, muse_cell reduction_fn) |
| static muse_cell | hashtable_map (void *self, muse_cell fn) |
| static void | hashtable_merge (hashtable_t *h1, hashtable_t *h2, muse_cell reduction_fn) |
| static muse_cell | hashtable_join (void *self, muse_cell objlist, muse_cell reduction_fn) |
| static muse_cell | hashtable_collect (void *self, muse_cell predicate, muse_cell mapper, muse_cell reduction_fn) |
| static muse_cell | hashtable_reduce (void *self, muse_cell reduction_fn, muse_cell initial) |
| static void * | hashtable_view (int id) |
| muse_cell | fn_mk_hashtable (muse_env *env, void *context, muse_cell args) |
| (mk-hashtable [size]). | |
| muse_cell | fn_hashtable_p (muse_env *env, void *context, muse_cell args) |
| (hashtable? ht). | |
| muse_cell | fn_hashtable_size (muse_env *env, void *context, muse_cell args) |
| (hashtable-size ht). | |
| muse_cell | fn_alist_to_hashtable (muse_env *env, void *context, muse_cell args) |
| (hashtable alist). | |
| muse_cell | fn_hashtable_to_alist (muse_env *env, void *context, muse_cell args) |
| (hashtable->alist ht). | |
| void | muse_define_builtin_type_hashtable () |
| muse_cell | muse_mk_hashtable (int length) |
| Creates a hashtable with a bucket count setup according to the given desired length. | |
| int | muse_hashtable_length (muse_cell ht) |
| Returns the number of key-value pairs put into the hash table. | |
| muse_cell | muse_hashtable_get (muse_cell ht, muse_cell key) |
| Returns the key-value pair with the given key as the head if the key is present in the hash table, otherwise it returns MUSE_NIL. | |
| muse_cell | muse_hashtable_put (muse_cell ht, muse_cell key, muse_cell value) |
| Associates the given value with the given key in the hash table. | |
Variables | |
| static muse_monad_view_t | g_hashtable_monad_view |
| static muse_functional_object_type_t | g_hashtable_type |
| static struct _defs | k_hashtable_funs [] |
All rights reserved. See LICENSE.txt distributed with this source code or http://muvee-symbolic-expressions.googlecode.com/svn/trunk/LICENSE.txt for terms and conditions under which this software is provided to you.
Implements functional hash tables for constant time random access to a property list.
1.4.7