Posted on

Realigning Set interfaces in std

As a follow up to New pure fns in StaticBitSet, I went through all the Set implementations and realigned the interfaces.

Here are the results.

Table summarizing new functions. eql, subsetOf, supersetOf were added to DynamicBitSet. eql, subsetOf, supersetOf, complement, unionWith, intersectWith, xorWith, differenceWith were added to EnumSet. EnumMultiset is entirely new.

The functions missing for DynamicBitSet are ones that require allocation. I am undecided on how to best add those functions, so I left them out for now. The main issue is clone is inconsistent in std.

EnumMultiset is brand new and it doesn't quite line up as it is a Multiset and not a regular Set.

Discussion (0)