BitList class abstract

A space efficient List that stores boolean values.

Inheritance
Available extensions

Constructors

BitList(int length, {bool fill = false, bool growable = false})
Constructs a bit list of the given length.
factory
BitList.empty({bool growable = false})
Constructs an empty bit list.
factory
BitList.filled(int length, bool fill, {bool growable = false})
Constructs a bit list of the given length, and initializes the value at each position with fill.
factory
BitList.from(Iterable<bool> other, {bool growable = false})
Constructs a new list from a given Iterable of booleans.
factory
BitList.generate(int length, bool generator(int index), {bool growable = false})
Constructs a bit list of the given length by calling a generator function for each index.
factory
BitList.of(Iterable<bool> other, {bool growable = false})
Constructs a new list from a given Iterable of booleans.
factory

Properties

buffer → Uint32List
The underlying typed buffer of this object.
no setter
first ↔ bool
The first element.
getter/setter pairinherited
hashCode → int
The hash code for this object.
no setterinherited
isEmpty → bool
Whether this collection has no elements.
no setterinherited
isNotEmpty → bool
Whether this collection has at least one element.
no setterinherited
iterator → Iterator<bool>
A new Iterator that allows iterating the elements of this Iterable.
no setterinherited
last ↔ bool
The last element.
getter/setter pairinherited
length ↔ int
The number of objects in this list.
getter/setter pairinherited
reversed → Iterable<bool>
An Iterable of the objects in this list in reverse order.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
single → bool
Checks that this iterable has only one element, and returns that element.
no setterinherited

Methods

add(bool element) → void
Adds value to the end of this list, extending the length by one.
inherited
addAll(Iterable<bool> iterable) → void
Appends all objects of iterable to the end of this list.
inherited
and(BitList other) → void
Computes the intersection of the receiver and other in-place.
any(bool test(bool element)) → bool
Checks whether any element of this iterable satisfies test.
inherited
asMap() → Map<int, bool>
An unmodifiable Map view of this list.
inherited
cast<R>() → List<R>
Returns a view of this list as a list of R instances.
inherited
clear() → void
Removes all objects from this list; the length of the list becomes zero.
inherited
contains(Object? element) → bool
Whether the collection contains an element equal to element.
inherited
count({bool expected = true}) → int
Counts the number of bits set to expected.
countRange(int start, int end, {bool expected = true}) → int
Counts the number of bits set to expected in the range of start (inclusive) to end (exclusive).
difference(BitList other) → void
Computes the difference of the receiver and other in-place.
elementAt(int index) → bool
Returns the indexth element.
inherited
every(bool test(bool element)) → bool
Checks whether every element of this iterable satisfies test.
inherited
expand<T>(Iterable<T> f(bool element)) → Iterable<T>
Expands each element of this Iterable into zero or more elements.
inherited
fillRange(int start, int end, [bool? fill]) → void
Overwrites a range of elements with fillValue.
override
firstWhere(bool test(bool element), {bool orElse()?}) → bool
The first element that satisfies the given predicate test.
inherited
flip(int index) → void
Sets the bit at the specified index to the complement of its current value.
flipUnchecked(int index) → void
Sets the bit at the specified index to the complement of its current value. The behavior is undefined if index is outside of bounds.
fold<T>(T initialValue, T combine(T previousValue, bool element)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited
followedBy(Iterable<bool> other) → Iterable<bool>
Creates the lazy concatenation of this iterable and other.
inherited
forEach(void action(bool element)) → void
Invokes action on each element of this iterable in iteration order.
inherited
getRange(int start, int end) → Iterable<bool>
Creates an Iterable that iterates over a range of elements.
inherited
getUnchecked(int index) → bool
Returns the value of the bit with the given index. The behavior is undefined if index is outside of bounds.
indexOf(Object? element, [int start = 0]) → int
The first index of element in this list.
inherited
indexWhere(bool test(bool element), [int start = 0]) → int
The first index in the list that satisfies the provided test.
inherited
indices({bool expected = true}) → Iterable<int>
Returns an iterable over the indices with the bit set to expected.
insert(int index, bool element) → void
Inserts element at position index in this list.
inherited
insertAll(int index, Iterable<bool> iterable) → void
Inserts all objects of iterable at position index in this list.
inherited
join([String separator = ""]) → String
Converts each element to a String and concatenates the strings.
inherited
lastIndexOf(Object? element, [int? start]) → int
The last index of element in this list.
inherited
lastIndexWhere(bool test(bool element), [int? start]) → int
The last index in the list that satisfies the provided test.
inherited
lastWhere(bool test(bool element), {bool orElse()?}) → bool
The last element that satisfies the given predicate test.
inherited
map<T>(T f(bool element)) → Iterable<T>
The current elements of this iterable modified by toElement.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
not() → void
Computes the complement of the receiver in-place.
or(BitList other) → void
Computes the union of the receiver and other in-place.
reduce(bool combine(bool previousValue, bool element)) → bool
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited
remove(Object? element) → bool
Removes the first occurrence of value from this list.
inherited
removeAt(int index) → bool
Removes the object at position index from this list.
inherited
removeLast() → bool
Removes and returns the last object in this list.
inherited
removeRange(int start, int end) → void
Removes a range of elements from the list.
inherited
removeWhere(bool test(bool element)) → void
Removes all objects from this list that satisfy test.
inherited
replaceRange(int start, int end, Iterable<bool> newContents) → void
Replaces a range of elements with the elements of replacements.
inherited
retainWhere(bool test(bool element)) → void
Removes all objects from this list that fail to satisfy test.
inherited
setAll(int index, Iterable<bool> iterable) → void
Overwrites elements with the objects of iterable.
inherited
setRange(int start, int end, Iterable<bool> iterable, [int skipCount = 0]) → void
Writes some elements of iterable into a range of this list.
inherited
setUnchecked(int index, bool value) → void
Sets the value of the bit with the given index. The behavior is undefined if index is outside of bounds.
shuffle([Random? random]) → void
Shuffles the elements of this list randomly.
inherited
singleWhere(bool test(bool element), {bool orElse()?}) → bool
The single element that satisfies test.
inherited
skip(int count) → Iterable<bool>
Creates an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(bool element)) → Iterable<bool>
Creates an Iterable that skips leading elements while test is satisfied.
inherited
sort([int compare(bool a, bool b)?]) → void
Sorts this list according to the order specified by the compare function.
inherited
sublist(int start, [int? end]) → List<bool>
Returns a new list containing the elements between start and end.
inherited
take(int count) → Iterable<bool>
Creates a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(bool element)) → Iterable<bool>
Creates a lazy iterable of the leading elements satisfying test.
inherited
toBitList({bool growable = false}) → BitList

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

Converts this Iterable to a space-efficient BitList.
toList({bool growable = true}) → List<bool>
Creates a List containing the elements of this Iterable.
inherited
toSet() → Set<bool>
Creates a Set containing the same elements as this iterable.
inherited
toString() → String
A string representation of this object.
inherited
where(bool test(bool element)) → Iterable<bool>
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
xor(BitList other) → void
Computes the exclusive-or of the receiver and other in-place.

Operators

operator &(BitList other) → BitList
Returns the intersection of the receiver and other.
operator +(List<bool> other) → BitList
Returns the concatenation of this list and other.
override
operator -(BitList other) → BitList
Returns the difference of the receiver and other.
operator <<(int amount) → BitList
Returns a BitList of the same length, but with the bits of the receiver shifted to the left by amount. Throws an ArgumentError if amount is negative.
operator ==(Object other) → bool
The equality operator.
inherited
operator >>(int amount) → BitList
Returns a BitList of the same length, but with the bits of the receiver shifted to the right by amount. Throws an ArgumentError if amount is negative.
operator [](int index) → bool
Returns the value of the bit with the given index.
override
operator []=(int index, bool value) → void
Sets the value of the bit with the given index.
override
operator ^(BitList other) → BitList
Returns the exclusive-or (symmetric difference) of the receiver and other.
operator |(BitList other) → BitList
Returns the union of the receiver and other.
operator ~() → BitList
Returns the complement of the receiver.