In a world 🌏 driven by Entropy Harnesses sometimes your collections 📁 can feel cold ❄️ and heartless 💙⃠.
If you share this feeling, you may want to let
EmptyCollection into your heart and collections.
EmptyCollection provides trivial conformance to
Collection (a matter which has been considered previously on these pages).
This is achieved by using an integer index type, a trivial generator struct dubbed
endIndex, returning a count of 0 and disallowing subscripting.
This seems rather straightforward, so where is this put to use? The file header provides a brief motivating example:
Sometimes an operation is best expressed in terms of some other, larger operation where one of the parameters is an empty collection.
EmptyCollections to write a number of removal operations in terms of
replaceRange, as does
Sequence uses an
EmptyCollection if a prefix of length 0 is requested.
So, the next time you need a truly empty collection, consider choosing
EmptyCollection for your API.