diff options
author | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-04-11 13:34:15 +0100 |
---|---|---|
committer | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-04-11 13:34:15 +0100 |
commit | 8d441fbd3c212e68bb236b8be2b51c9e4e807e03 (patch) | |
tree | 0e6ecfafe4e8772b7afa3b06fafc8010b0b859ed /src/rabbit_misc.erl | |
parent | fe8e5bf03098a9393ad0f1db433cf97cea4d2fc2 (diff) | |
download | rabbitmq-server-8d441fbd3c212e68bb236b8be2b51c9e4e807e03.tar.gz |
Added sane set and tree difference functions.
Diffstat (limited to 'src/rabbit_misc.erl')
-rw-r--r-- | src/rabbit_misc.erl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl index c1be7613..82e3a3f2 100644 --- a/src/rabbit_misc.erl +++ b/src/rabbit_misc.erl @@ -60,6 +60,7 @@ -export([multi_call/2]). -export([quit/1]). -export([os_cmd/1]). +-export([gb_sets_difference/2, gb_trees_difference/2]). %%---------------------------------------------------------------------------- @@ -204,6 +205,8 @@ ([pid()], any()) -> {[{pid(), any()}], [{pid(), any()}]}). -spec(quit/1 :: (integer() | string()) -> no_return()). -spec(os_cmd/1 :: (string()) -> string()). +-spec(gb_sets_difference/2 :: (gb_set(), gb_set()) -> gb_set()). +-spec(gb_trees_difference/2 :: (gb_tree(), gb_tree()) -> gb_tree()). -endif. @@ -912,3 +915,9 @@ os_cmd(Command) -> false -> throw({command_not_found, Exec}); _ -> os:cmd(Command) end. + +gb_sets_difference(S1, S2) -> + lists:foldl(fun gb_sets:delete/2, S1, gb_sets:to_list(S2)). + +gb_trees_difference(T1, T2) -> + lists:foldl(fun gb_trees:delete/2, T1, gb_trees:to_list(T2)). |