collection library

A collection of iterable extensions and new collection types: bi-map, bit-list, multi-set, set and list multi-map, range, and string.

Classes

BigIntRange
A virtual range of BigInt containing an arithmetic progressions.
BiMap<K, V>
A bi-map associates keys with values and values with keys.
BitList
An space efficient List that stores boolean values.
Bounds
Axis-aligned bounding box.
DoubleRange
A virtual range of doubles containing an arithmetic progressions.
IntegerRange
A virtual range of integers containing an arithmetic progressions.
ListMultimap<K, V>
A multimap that stores values in a List, and that maintains the insertion order of values of a given key. A factory can be provided to create custom value collections.
MapWithDefault<K, V>
Multiset<E>
A generalized Set (or Bag) in which members are allowed to appear more than once.
Range<T>
Abstract superclass of an arithmetic progressions.
RangeIterator<T>
An Iterator over a Range, provides various additional accessors of the standard collection iterator.
RTree<T>
Abstract base implementation of the R-Tree data structure, based on the Python implementation from https://github.com/lukas-shawford/rtreelib.
RTreeEntry<T>
R-Tree entry, containing either a pointer to a child RTreeNode instance (if this is not a leaf entry), or data (if this is a leaf entry).
RTreeNode<T>
An R-Tree node, which is a container for R-Tree entries. The node is a leaf node if its entries contain data; otherwise, if it is a non-leaf node, then its entries contain pointers to children nodes.
SetMultimap<K, V>
A multimap that stores values in a Set, and that keeps the unique values of a given key. A factory can be provided to create custom value collections.
SortedList<E>
A sorted-list that remains sorted by a Comparator as elements get added.
Trie<K, P extends Comparable<P>, V>
A generalized Trie (or prefix tree) which keys of type K split into parts of type P, and values of type V.
TrieNode<K, P extends Comparable<P>, V>
Abstract implementation of the nodes in a Trie.
TrieNodeEntry<K, P extends Comparable<P>, V>
Abstract TrieNode with a possible key and value.
TrieNodeList<K, P extends Comparable<P>, V>
TrieNode that holds children in a sorted List.
TrieNodeMap<K, P extends Comparable<P>, V>
TrieNode that holds children in a Map.
TypeMap<T>
A type-map associates dart runtime types to an instance of that type.

Extensions

BigIntRangeExtension on BigInt
BiMapOnIterableExtension on Iterable<E>
BiMapOnMapExtension on Map<K, V>
BitListExtension on Iterable<bool>
ChunkedIterableExtension on Iterable<E>
CombinationsIterableExtension on Iterable<E>
ConvertFirstLastStringExtension on String
CountIterableExtension on Iterable<E>
DeepFlattenIterableExtension on Iterable
DefaultMapExtension on Map<K, V>
DoubleRangeExtension on double
FlatMapIterableExtension on Iterable<E>
FlattenIterableExtension on Iterable<Iterable<E>>
GroupIterableExtension on Iterable<V>
GroupMapEntryExtension on Group<K, V>
Extension to access the index on the Group values.
IndentDedentStringExtension on String
IndexedIterableExtension on Iterable<E>
IndexedMapEntryExtension on Indexed<E>
Extension to access the index on a Indexed value.
IndicesIterableExtension on Iterable<Object?>
IntegerRangeExtension on int
ListMultimapOnIterableExtension on Iterable<E>
ListMultimapOnMapExtension on Map<K, V>
MultisetExtension on Iterable<T>
OperatorsIterableExtension on Iterable<E>
PairwiseIterableExtension on Iterable<E>
PartitionIterableExtension on Iterable<E>
PartitionStringExtension on String
PermutationComparableListExtension on List<E>
PermutationIterableExtension on Iterable<E>
PowerSetIterableExtension on Iterable<E>
PrefixSuffixStringExtension on String
Product2IterableExtension on (Iterable<T1>, Iterable<T2>)
ProductIterableExtension on Iterable<Iterable<E>>
RandomIterableExtension on Iterable<E>
RepeatIterableExtension on Iterable<E>
RotateListExtension on List<E>
RotateQueueExtension on Queue<E>
SeparatedIterableExtension on Iterable<E>
SetMultimapOnIterableExtension on Iterable<E>
SetMultimapOnMapExtension on Map<K, V>
SortedListIterableExtension on Iterable<E>
StringListExtension on String
TakeSkipListExtension on List<E>
TakeSkipStringExtension on String
ToMapIterableExtension on Iterable<E>
UniqueIterableExtension on Iterable<E>
WindowIterableExtension on Iterable<E>
WrapUnwrapStringExtension on String
Zip2IterableExtension on (Iterable<T1>, Iterable<T2>)
ZipIterableExtension on Iterable<Iterable<E>>

Functions

iterate<E>(E value, E callback(E element)) Iterable<E>
Returns a lazy infinite list of repeated applications of callback to the initial value.
repeat<E>(E element, {int? count}) Iterable<E>
Returns an infinite iterable with a constant element. If count is provided the resulting iterator is limited to count elements.

Typedefs

Group<K, V> = MapEntry<K, List<V>>
A group of values.
Indexed<E> = MapEntry<int, E>
An indexed value.