# itertools library Null safety

## Classes

IntRange
Provide arithmetic progression

## Extensions

Itertools
ItertoolsNullable
ItertoolsNumber
ItertoolsRange
Starmap2
Starmap3
Starmap4
Starmap5
Starmap6
Starmap7

## Functions

chain<T>(Iterable<T> first, Iterable<T> second, [Iterable<T>? third, Iterable<T>? fourth, Iterable<T>? fifth, Iterable<T>? sixth]) Iterable<T>
Gets chained inputs from multiple iterable arguments that are evaluated lazily.
chain_from_iterables<T>(Iterable<Iterable<T>> iterables) Iterable<T>
Gets chained inputs from a single iterable argument that is evaluated lazily.
count(int start, {int step = 1}) Iterable<int>
Make an iterator that returns evenly spaced values starting with number start.
enumerate<T>(Iterable<T> iterable, {int start = 0}) Iterable<Tuple2<int, T>>
groupby<KeyType, ValueType>(Iterable<ValueType> iterable, {required KeyType key(ValueType)}) Map<KeyType, List<ValueType>>
Make a Map consecutive keys and groups from the iterable. The key is a function computing a key value for each element.
range({int? first, required int last, int step = 1})
Return iterable IntRange
repeat<T>(T object, [int? count]) Iterable<T>
zip2<T1, T2>(Iterable<T1> it1, Iterable<T2> it2) Iterable<Tuple2<T1, T2>>
zip3<T1, T2, T3>(Iterable<T1> it1, Iterable<T2> it2, Iterable<T3> it3) Iterable<Tuple3<T1, T2, T3>>
zip4<T1, T2, T3, T4>(Iterable<T1> it1, Iterable<T2> it2, Iterable<T3> it3, Iterable<T4> it4) Iterable<Tuple4<T1, T2, T3, T4>>
zip5<T1, T2, T3, T4, T5>(Iterable<T1> it1, Iterable<T2> it2, Iterable<T3> it3, Iterable<T4> it4, Iterable<T5> it5) Iterable<Tuple5<T1, T2, T3, T4, T5>>
zip6<T1, T2, T3, T4, T5, T6>(Iterable<T1> it1, Iterable<T2> it2, Iterable<T3> it3, Iterable<T4> it4, Iterable<T5> it5, Iterable<T6> it6) Iterable<Tuple6<T1, T2, T3, T4, T5, T6>>
zip7<T1, T2, T3, T4, T5, T6, T7>(Iterable<T1> it1, Iterable<T2> it2, Iterable<T3> it3, Iterable<T4> it4, Iterable<T5> it5, Iterable<T6> it6, Iterable<T7> it7) Iterable<Tuple7<T1, T2, T3, T4, T5, T6, T7>>