PreviousUpNext

15.4.1600  src/lib/x-kit/xclient/src/stuff/hash-xid.pkg

## hash-xid.pkg
#
# A hashtable package for hashing on xids,
# which are by definition unique.

# Compiled by:
#     src/lib/x-kit/xclient/xclient-internals.sublib



stipulate
    package xt =  xtypes;                                               # xtypes                        is from   src/lib/x-kit/xclient/src/wire/xtypes.pkg
herein

    # This package is current used (only) in:
    #
    #   src/lib/x-kit/xclient/src/window/xsocket-to-hostwindow-router-old.pkg
    #   src/lib/x-kit/xclient/src/window/hash-window-old.pkg

    package  hash_xid
    : (weak) Hash_Xid                                                   # Hash_Xid                      is from   src/lib/x-kit/xclient/src/stuff/hash-xid.api
    {
        stipulate
            package xht
                =
                typelocked_hashtable_g (                                # typelocked_hashtable_g        is from   src/lib/src/typelocked-hashtable-g.pkg
                    #
                    Hash_Key =  xt::Xid;

                    same_key =  xt::same_xid;

                    fun hash_value  xid
                        =
                        xt::xid_to_unt  xid;
                );

        herein
            Xid_Map(X) = xht::Hashtable(X);

            fun make_map ()
                =
                xht::make_hashtable  { size_hint => 32,  not_found_exception => lib_base::NOT_FOUND };

            get          =  xht::get;
            set          =  xht::set;
            get_and_drop =  xht::get_and_drop;
            drop         =  xht::drop;

            keyvals_list = xht::keyvals_list;
        end;
    };

end;

## COPYRIGHT (c) 1990, 1991 by John H. Reppy.  See SMLNJ-COPYRIGHT file for details.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext