If isDeepEquals is false, the IList equals operator (==) compares by identity.
If isDeepEquals is true (the default), the IList equals operator (==) compares all
items, ordered.
If cacheHashCode is true (the default), the IList will only calculate the hashCode
once, when it is asked — initially, internally null. Otherwise, it will always recalculate it.
If isDeepEquals is false, the IMap equals operator (==) compares by identity.
If isDeepEquals is true (the default), the IMap equals operator (==) compares all entries, ordered.
If sort is true, will sort the list output of keys. Otherwise, it will keep the insertion order (the default).
If cacheHashCode is true (the default), the IMap will only calculate the hashCode
once, when it is asked — initially, internally null. Otherwise, it will always recalculate it.
If isDeepEquals is false, the IMap equals operator (==) compares by identity.
If isDeepEquals is true (the default), the IMap equals operator (==) compares all entries, ordered.
If sortKeys is true, will sort the list output of keys. Otherwise, it will keep the insertion order (the default).
If cacheHashCode is true (the default), the IMapOfSets will only calculate the
hashCode once, when it is asked — initially, internally null. Otherwise, it will always recalculate it.
A ListMapView lets you view a regular map as if it was a ListMap.
At the moment this class is for FIC's internal use only, since a lot of
its methods will throw UnsupportedError.
This works for any object, not only map entries, but MapEntry gets special
treatment. We consider two map-entries equal when their respective key and
values are equal.
The ModifiableListFromIList is a safe, modifiable List that is built from an IList.
The construction of the list is fast at first, since it makes no copies of the
IList items, but just uses it directly.
The ModifiableMapFromIMap is a safe, modifiable Map that is built from an IMap.
The construction of the map is fast at first, since it makes no copies of the
IMap items, but just uses it directly.
The ModifiableSetFromISet is a safe, modifiable Set that is built from an ISet.
The construction of the set is fast at first, since it makes no copies of the
ISet items, but just uses it directly.
Returns a List of the objects in this list in reverse order.
Very efficient since it returns a view, which means if you change the
original list this one will also change, and vice-versa.
The UnmodifiableListFromIList is a relatively safe, unmodifiable List view that is built
from an IList or another List. The construction of the UnmodifiableListFromIList is very
fast, since it makes no copies of the given list items, but just uses it directly.
The UnmodifiableMapFromIMap is a relatively safe, unmodifiable Map that is built from an
IMap or another Map. The construction of the UnmodifiableMapFromIMap is very fast,
since it makes no copies of the given map items, but just uses it directly.
The UnmodifiableSetFromISet is a relatively safe, unmodifiable Set view that is built from
an ISet or another Set. The construction of the UnmodifiableSetFromISet is very fast,
since it makes no copies of the given set items, but just uses it directly.
Will return true only if the collections are of the same type, and their
items are equal by calling the collection's equalItems method. This may be
slow for very large collection, since it compares each item, one by one.
Note this will not compare the collection configuration.
While identical(collection1, collection2) will compare the collections by
identity, areSameImmutableCollection(collection1, collection2) will
compare them by type, and then by their internal state. Note this is
practically as fast as identical, but will give less false negatives.
So it is almost always recommended to use areSameImmutableCollection
instead of identical.
Combines iterables a and b into one, by applying the combine function.
If allowDifferentSizes is true, it will stop as soon as one of the
iterables has no more values. If allowDifferentSizes is false, it will
throw an error if the iterables have different length.