crow/col/shared-map.crow (source)

shared-map[k, v] record shared

(has non-public fields)

    Shared equivalent to 'mut-map'.

    Iteration is not supported; since operations on this take a lock, they need to be short.

    new[k, v] (k, v) shared-map(...a (k, v) tuple2 array) k key

    move-to[k, v] k[v](a (k, v) shared-map) k key

    move-to[k, v] (k, v) shared-map(a k mut[v]) k key

    size[k, v] nat64(a (k, v) shared-map) k key

    is-empty[k, v] bool(a (k, v) shared-map) k key

    in[k, v] bool(key k, a (k, v) shared-map) k key

    set-subscript[k, v] void(a (k, v) shared-map, key k, value v) k key

    clear[k, v] void(a (k, v) shared-map) k key

    remove[k, v] v?(a (k, v) shared-map, key k) k key

    ~=[k, v] void(a (k, v) shared-map, anonymous (k, v) tuple2) k key

    build[k, v] (k, v) shared-map(a build-options, f mut void(k mut[v])) k key