- SCM tab = (SCM) closure;
- scm_hashq_set_x (tab, scm_car (handle), scm_cdr (handle));
- return tab;
-}
-
-static void
-copy_scm_hashes (SCM dest, SCM src)
-{
- scm_internal_hash_for_each_handle ((scm_t_hash_handle_fn) ©_handle,
- dest, src);
-}
-
-Scheme_hash_table::Scheme_hash_table ()
-{
- hash_tab_ = SCM_EOL;
- smobify_self ();
- hash_tab_ = scm_c_make_hash_table (119);
-}
-
-Scheme_hash_table::Scheme_hash_table (Scheme_hash_table const &src)
- : Smob<Scheme_hash_table> ()
-{
- hash_tab_ = SCM_EOL;
- smobify_self ();
- copy (src);
-}
-
-void
-Scheme_hash_table::copy (Scheme_hash_table const &src)
-{
- if (&src == this)
- return;
-
- hash_tab_ = scm_c_make_hash_table (SCM_HASHTABLE_N_ITEMS (src.hash_tab_));
- copy_scm_hashes (hash_tab_, src.hash_tab_);
-}
-
-Scheme_hash_table::~Scheme_hash_table ()
-{
-}
-
-SCM
-Scheme_hash_table::mark_smob ()
-{
- scm_gc_mark (hash_tab_);
- return SCM_EOL;