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 | 9f7abfa7b80e3e01b961b748cb867b42bb9ff5cf (patch) | |
| tree | 0e6ecfafe4e8772b7afa3b06fafc8010b0b859ed /src | |
| parent | 7711938a8f2a279b1d64afd106f3bfb724ece927 (diff) | |
| download | rabbitmq-server-git-9f7abfa7b80e3e01b961b748cb867b42bb9ff5cf.tar.gz | |
Added sane set and tree difference functions.
Diffstat (limited to 'src')
| -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 c1be7613ae..82e3a3f21e 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)). |
