diff options
author | Hans Bolinder <[email protected]> | 2018-03-26 08:23:18 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2018-03-26 08:23:18 +0200 |
commit | 0083a9451f5770a38bb21e78b7d574e5b72ba5f3 (patch) | |
tree | 7da02f3c3b08c3efa12be2fad6d63990a1d580e5 /lib/stdlib/src | |
parent | 5c2acbd35150da5e6d3afba1f61bb8bb995bb80f (diff) | |
parent | 3514876e3c3d774f46ccd4b0bf04bffdba3e2987 (diff) | |
download | otp-0083a9451f5770a38bb21e78b7d574e5b72ba5f3.tar.gz otp-0083a9451f5770a38bb21e78b7d574e5b72ba5f3.tar.bz2 otp-0083a9451f5770a38bb21e78b7d574e5b72ba5f3.zip |
Merge pull request #1703 from juhlig/master
[ERL-557] add is_empty/1 to sets and ordsets
OTP-14996, ERL-557, PR-1703
Diffstat (limited to 'lib/stdlib/src')
-rw-r--r-- | lib/stdlib/src/ordsets.erl | 9 | ||||
-rw-r--r-- | lib/stdlib/src/sets.erl | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/stdlib/src/ordsets.erl b/lib/stdlib/src/ordsets.erl index 569407f5ef..939e147ad8 100644 --- a/lib/stdlib/src/ordsets.erl +++ b/lib/stdlib/src/ordsets.erl @@ -19,7 +19,7 @@ -module(ordsets). --export([new/0,is_set/1,size/1,to_list/1,from_list/1]). +-export([new/0,is_set/1,size/1,is_empty/1,to_list/1,from_list/1]). -export([is_element/2,add_element/2,del_element/2]). -export([union/2,union/1,intersection/2,intersection/1]). -export([is_disjoint/2]). @@ -60,6 +60,13 @@ is_set([], _) -> true. size(S) -> length(S). +%% is_empty(OrdSet) -> boolean(). +%% Return 'true' if OrdSet is an empty set, otherwise 'false'. +-spec is_empty(Ordset) -> boolean() when + Ordset :: ordset(_). + +is_empty(S) -> S=:=[]. + %% to_list(OrdSet) -> [Elem]. %% Return the elements in OrdSet as a list. diff --git a/lib/stdlib/src/sets.erl b/lib/stdlib/src/sets.erl index c65a13b22e..ac0fc80526 100644 --- a/lib/stdlib/src/sets.erl +++ b/lib/stdlib/src/sets.erl @@ -37,7 +37,7 @@ -module(sets). %% Standard interface. --export([new/0,is_set/1,size/1,to_list/1,from_list/1]). +-export([new/0,is_set/1,size/1,is_empty/1,to_list/1,from_list/1]). -export([is_element/2,add_element/2,del_element/2]). -export([union/2,union/1,intersection/2,intersection/1]). -export([is_disjoint/2]). @@ -96,6 +96,12 @@ is_set(_) -> false. Set :: set(). size(S) -> S#set.size. +%% is_empty(Set) -> boolean(). +%% Return 'true' if Set is an empty set, otherwise 'false'. +-spec is_empty(Set) -> boolean() when + Set :: set(). +is_empty(S) -> S#set.size=:=0. + %% to_list(Set) -> [Elem]. %% Return the elements in Set as a list. -spec to_list(Set) -> List when |