X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=src%2Fhope_gen_dictionary.erl;h=c0b7e5348dc392782668f1d5e97102239c1aa142;hb=fef301085ff208638f7c07c1fb9048f3deaf01bd;hp=0d45ecda04163e09bc0952617b7397c82eba13a5;hpb=b69220d7a75faba9743d5b89b6fa40443cd39eec;p=hope.git diff --git a/src/hope_gen_dictionary.erl b/src/hope_gen_dictionary.erl index 0d45ecd..c0b7e53 100644 --- a/src/hope_gen_dictionary.erl +++ b/src/hope_gen_dictionary.erl @@ -15,6 +15,12 @@ -callback get(t(K, V), K) -> hope_option:t(V). +-callback get(t(K, V), K, V) -> + V. + +-callback get(t(K, V), K, V, fun((V) -> boolean())) -> + V. + -callback set(t(K, V), K, V) -> t(K, V). @@ -33,8 +39,8 @@ -callback fold(t(K, V), fun((K, V, Acc) -> Acc), Acc) -> Acc. --callback iter(t(K, V), fun((K, V) -> ok)) -> - ok. +-callback iter(t(K, V), fun((K, V) -> any())) -> + {}. %% TODO: Decide if validation is to be done. If yes - wrap in hope_result:t/1 -callback of_kv_list([{K, V}]) -> @@ -42,3 +48,6 @@ -callback to_kv_list(t(K, V)) -> [{K, V}]. + +-callback has_key(t(K, _), K) -> + boolean().