TopologicalIterable<V> class

Iterable over the topological sorting of vertices. This traversal requires a predecessor-function, and ignores nodes that are part of cycles.

See https://en.wikipedia.org/wiki/Topological_sorting.

Inheritance
Available extensions

Constructors

TopologicalIterable.new(Iterable<V> vertices, {required Iterable<V> predecessorsOf(V vertex), required Iterable<V> successorsOf(V vertex), StorageStrategy<V>? vertexStrategy})

Properties

first → V
The first element.
no setterinherited
firstOrNull → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The first element of this iterator, or null if the iterable is empty.
no setter
hashCode int
The hash code for this object.
no setterinherited
indexed Iterable<(int, T)>

Available on Iterable<T>, provided by the IterableExtensions extension

Pairs of elements of the indices and elements of this iterable.
no setter
isEmpty bool
Whether this collection has no elements.
no setterinherited
isNotEmpty bool
Whether this collection has at least one element.
no setterinherited
iterator Iterator<V>
A new Iterator that allows iterating the elements of this Iterable.
no setteroverride
last → V
The last element.
no setterinherited
lastOrNull → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The last element of this iterable, or null if the iterable is empty.
no setter
length int
The number of elements in this Iterable.
no setterinherited
nonNulls Iterable<T>

Available on Iterable<T?>, provided by the NullableIterableExtensions extension

The non-null elements of this iterable.
no setter
predecessorsOf Iterable<V> Function(V vertex)
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
single → V
Checks that this iterable has only one element, and returns that element.
no setterinherited
singleOrNull → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The single element of this iterator, or null.
no setter
successorsOf Iterable<V> Function(V vertex)
final
vertexStrategy StorageStrategy<V>
final
vertices Iterable<V>
final
wait Future<List<T>>

Available on Iterable<Future<T>>, provided by the FutureIterable extension

Waits for futures in parallel.
no setter

Methods

any(bool test(V element)) bool
Checks whether any element of this iterable satisfies test.
inherited
asNameMap() Map<String, T>

Available on Iterable<T>, provided by the EnumByName extension

Creates a map from the names of enum values to the values.
atRandom({Random? random, E orElse()?}) → E

Available on Iterable<E>, provided by the RandomIterableExtension extension

Returns a random element from this Iterable.
byName(String name) → T

Available on Iterable<T>, provided by the EnumByName extension

Finds the enum value in this list with name name.
cast<R>() Iterable<R>
A view of this iterable as an iterable of R instances.
inherited
chunked(int size) Iterable<List<E>>

Available on Iterable<E>, provided by the ChunkedIterableExtension extension

Divides this Iterable into sub-lists of a given size. The final list might be smaller or equal to the desired size.
chunkedWithPadding(int size, E padding) Iterable<Iterable<E>>

Available on Iterable<E>, provided by the ChunkedIterableExtension extension

Divides this Iterable into sub-lists of a given size. The final list is expanded with the provided padding, or null.
closeMatches(Iterable<T> target, {int count = 3, double cutoff = 0.6}) Iterable<Iterable<T>>

Available on Iterable<Iterable<T>>, provided by the CloseMatchesOnIterable extension

Returns a list of the best "good enough" matches.
closeMatches(String target, {int count = 3, double cutoff = 0.6}) Iterable<String>

Available on Iterable<String>, provided by the CloseMatchesOnStringIterable extension

Returns a list of the best "good enough" matches of a list of strings.
combinations(int count, {bool repetitions = false}) Iterable<List<E>>

Available on Iterable<E>, provided by the CombinationsIterableExtension extension

Returns an iterable over the combinations of this Iterable of length count. The combinations are emitted in lexicographical order based on the input.
contains(Object? element) bool
Whether the collection contains an element equal to element.
inherited
count(bool predicate(E element)) int

Available on Iterable<E>, provided by the CountIterableExtension extension

Returns the number of time predicate evaluates to true.
deepFlatten<E>() Iterable<E>

Available on Iterable, provided by the DeepFlattenIterableExtension extension

Flattens arbitrarily nested Iterables with elements of type E. Throws an ArgumentError when encountering an value of an unexpected type.
elementAt(int index) → V
Returns the indexth element.
inherited
elementAtOrNull(int index) → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The element at position index of this iterable, or null.
every(bool test(V element)) bool
Checks whether every element of this iterable satisfies test.
inherited
expand<T>(Iterable<T> toElements(V element)) Iterable<T>
Expands each element of this Iterable into zero or more elements.
inherited
firstWhere(bool test(V element), {V orElse()?}) → V
The first element that satisfies the given predicate test.
inherited
flatMap<T>(Iterable<T> callback(E element)) Iterable<T>

Available on Iterable<E>, provided by the FlatMapIterableExtension extension

Maps each element of this Iterable using a mapping function to zero or more elements, then flattens the result into a continuous iterable.
flatten() Iterable<E>

Available on Iterable<Iterable<E>>, provided by the FlattenIterableExtension extension

Flattens an Iterable of Iterables to a flattened Iterable.
fold<T>(T initialValue, T combine(T previousValue, V element)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited
followedBy(Iterable<V> other) Iterable<V>
Creates the lazy concatenation of this iterable and other.
inherited
forEach(void action(V element)) → void
Invokes action on each element of this iterable in iteration order.
inherited
gcd() BigInt

Available on Iterable<BigInt>, provided by the GcdBigIntIterableExtension extension

Returns the greatest common divisor (GCD) of the values in this Iterable. This is the largest positive integer that divides all numbers.
gcd() int

Available on Iterable<int>, provided by the GcdIntegerIterableExtension extension

Returns the greatest common divisor (GCD) of the values in this Iterable. This is the largest positive integer that divides all numbers.
groupBy<K>([K key(V element)?]) Iterable<Group<K, V>>

Available on Iterable<V>, provided by the GroupIterableExtension extension

Groups consecutive keys of this Iterable.
indexed({int start = 0, int step = 1, int? offset}) Iterable<Indexed<E>>

Available on Iterable<E>, provided by the IndexedIterableExtension extension

Returns a iterable that combines the index and value of this Iterable.
indices({int step = 1}) Range<int>

Available on Iterable<Object?>, provided by the IndicesIterableExtension extension

Returns a Range of the indices of this iterable that can be accessed with the [] operator.
join([String separator = ""]) String
Converts each element to a String and concatenates the strings.
inherited
largest(int count, {Comparator<E>? comparator}) List<E>

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns a list of the count largest elements of this Iterable. The elements need to be Comparable, unless a custom comparator is provided.
lastWhere(bool test(V element), {V orElse()?}) → V
The last element that satisfies the given predicate test.
inherited
lcm() int

Available on Iterable<int>, provided by the LcmIntegerIterableExtension extension

Returns the least common multiple (LCM) of the values in this Iterable. This is the smallest positive integer that is divisible by all numbers.
lcm() BigInt

Available on Iterable<BigInt>, provided by the LcmBigIntIterableExtension extension

Returns the least common multiple (LCM) of the values in this Iterable. This is the smallest positive integer that is divisible by all numbers.
map<T>(T toElement(V e)) Iterable<T>
The current elements of this iterable modified by toElement.
inherited
max({Comparator<E>? comparator, E orElse()?}) → E

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns the maximum of this Iterable. The elements need to be Comparable, unless a custom comparator is provided.
min({Comparator<E>? comparator, E orElse()?}) → E

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns the minimum of this Iterable. The elements need to be Comparable, unless a custom comparator is provided.
minMax({Comparator<E>? comparator, ({E max, E min}) orElse()?}) → ({E max, E min})

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns the minimum and maximum of this Iterable at once. The elements need to be Comparable, unless a custom comparator is provided.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
occurrences(E element) int

Available on Iterable<E>, provided by the CountIterableExtension extension

Returns the number of times element appears in the iterable.
pairwise() Iterable<(E, E)>

Available on Iterable<E>, provided by the PairwiseIterableExtension extension

An iterable over the successive overlapping pairs of this iterable.
partition(bool test(E element)) → ({List<E> falsey, List<E> truthy})

Available on Iterable<E>, provided by the PartitionIterableExtension extension

Splits this iterable into two lists: the truthy list where the test predicate is true and the falsey list where the test predicate is false.
permutations([int? count]) Iterable<List<E>>

Available on Iterable<E>, provided by the PermutationIterableExtension extension

Returns an iterable over the permutations of this Iterable of length count. If no count is specified all full-length permutations are generated. The permutations are emitted in lexicographical order based on the input.
polynomial([num x = 10]) num

Available on Iterable<num>, provided by the PolynomialIterableExtension extension

Evaluates the polynomial described by this Iterables coefficients and the value x.
powerSet() Iterable<List<E>>

Available on Iterable<E>, provided by the PowerSetIterableExtension extension

Returns all subsets of this iterable including the empty set and the complete set itself. The power-set has 2^n elements, if the iterable has length n.
product({int repeat = 1}) Iterable<List<E>>

Available on Iterable<Iterable<E>>, provided by the ProductIterableExtension extension

Returns an iterable over the cross product of this Iterable.
reduce(V combine(V value, V element)) → V
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited
repeat({int? count}) Iterable<E>

Available on Iterable<E>, provided by the RepeatIterableExtension extension

Returns an infinite iterable with the elements of this iterable. If count is provided the resulting iterator is limited to count repetitions.
separatedBy(Builder<E> separator, {Builder<E>? before, Builder<E>? after}) Iterable<E>

Available on Iterable<E>, provided by the SeparatedIterableExtension extension

Returns an Iterable where every element is separated by an element built by a separator builder. Optionally specified before and after builders can provide an element at the beginning or the end of the non-empty iterable.
singleWhere(bool test(V element), {V orElse()?}) → V
The single element that satisfies test.
inherited
skip(int count) Iterable<V>
Creates an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(V value)) Iterable<V>
Creates an Iterable that skips leading elements while test is satisfied.
inherited
smallest(int count, {Comparator<E>? comparator}) List<E>

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns a list of the count smallest elements of this Iterable. The elements need to be Comparable, unless a custom comparator is provided.
take(int count) Iterable<V>
Creates a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(V value)) Iterable<V>
Creates a lazy iterable of the leading elements satisfying test.
inherited
toBiMap<K, V>({K key(E element)?, V value(E element)?}) BiMap<K, V>

Available on Iterable<E>, provided by the BiMapOnIterableExtension extension

Converts this Iterable to a BiMap.
toBitList({bool growable = false}) BitList

Available on Iterable<bool>, provided by the BitListExtension extension

Converts this Iterable to a space-efficient BitList.
toComparator() Comparator<T>

Available on Iterable<Comparator<T>>, provided by the CompoundIterableComparator extension

Returns a Comparator that tries each of the comparators in this iterable in order and returns the first result that doesn't end up in a tie.
toList({bool growable = true}) List<V>
Creates a List containing the elements of this Iterable.
inherited
toListMultimap<K, V>({K key(E element)?, V value(E element)?, Map<K, List<V>>? map, Factory<List<V>>? factory}) ListMultimap<K, V>

Available on Iterable<E>, provided by the ListMultimapOnIterableExtension extension

Converts this Iterable to a ListMultimap.
toMap<K, V>({K key(E element)?, V value(E element)?}) Map<K, V>

Available on Iterable<E>, provided by the ToMapIterableExtension extension

Returns an Map from an Iterable.
toMultiset() Multiset<T>

Available on Iterable<T>, provided by the MultisetExtension extension

toPrinter() Printer<T>

Available on Iterable<Printer<T>>, provided by the SequencePrinterIterableExtension extension

Constructs a sequence of printers.
toSet() Set<V>
Creates a Set containing the same elements as this iterable.
inherited
toSetMultimap<K, V>({K key(E element)?, V value(E element)?, Map<K, Set<V>>? map, Factory<Set<V>>? factory}) SetMultimap<K, V>

Available on Iterable<E>, provided by the SetMultimapOnIterableExtension extension

Converts this Iterable to a SetMultimap.
toSortedList({Comparator<E>? comparator, bool growable = true}) SortedList<E>

Available on Iterable<E>, provided by the SortedListIterableExtension extension

Converts this Iterable to a SortedList.
toString() String
Returns a string representation of (some of) the elements of this.
inherited
unique({Set<E> factory()?, bool equals(E e1, E e2)?, int hashCode(E e)?}) Iterable<E>

Available on Iterable<E>, provided by the UniqueIterableExtension extension

Returns a lazy iterable that filters out duplicates from this Iterator.
where(bool test(V element)) Iterable<V>
Creates a new lazy Iterable with all elements that satisfy the predicate test.
inherited
whereType<T>() Iterable<T>
Creates a new lazy Iterable with all elements that have type T.
inherited
window(int size, {int step = 1, bool includePartial = false}) Iterable<List<E>>

Available on Iterable<E>, provided by the WindowIterableExtension extension

Sliding window of given size over this Iterable.
zip() Iterable<List<E>>

Available on Iterable<Iterable<E>>, provided by the ZipIterableExtension extension

Combines the first, second, third, ... elements of each Iterable into a new list. The resulting iterable has the length of the shortest input iterable.
zipPartial() Iterable<List<E?>>

Available on Iterable<Iterable<E>>, provided by the ZipIterableExtension extension

Combines the first, second, third, ... elements of each Iterable into a new list. The resulting iterable has the length of the longest input iterable, missing values are padded with null.
zipPartialWith(E padding) Iterable<List<E>>

Available on Iterable<Iterable<E>>, provided by the ZipIterableExtension extension

Combines the first, second, third, ... elements of each Iterable into a new list. The resulting iterable has the length of the longest input iterable, missing values are padded with padding.

Operators

operator ==(Object other) bool
The equality operator.
inherited