ProspectPool<T extends Hitbox<T>> class

A pool of CollisionProspect objects that are reused across frames to avoid per-frame allocations.

Internally uses a private mutable subclass but only exposes the immutable CollisionProspect interface. Implements Iterable over acquired entries.

Inheritance

Constructors

ProspectPool({int incrementSize = 1000})

Properties

first → CollisionProspect<T>
The first element.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
incrementSize → int
How much the pool should increase in size every time it needs to be made larger.
final
isEmpty → bool
Whether this collection has no elements.
no setterinherited
isNotEmpty → bool
Whether this collection has at least one element.
no setterinherited
iterator → Iterator<CollisionProspect<T>>
A new Iterator that allows iterating the elements of this Iterable.
no setteroverride
last → CollisionProspect<T>
The last element.
no setterinherited
length → int
The number of prospects currently acquired this frame.
no setteroverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
single → CollisionProspect<T>
Checks that this iterable has only one element, and returns that element.
no setterinherited

Methods

acquire(T a, T b) → CollisionProspect<T>
Returns a CollisionProspect populated with a and b, reusing a pooled object or expanding the pool as needed.
acquireAll(Iterable<CollisionProspect<T>> source) → void
Copies all prospects from source into the pool, expanding capacity at most once.
any(bool test(CollisionProspect<T> element)) → bool
Checks whether any element of this iterable satisfies test.
inherited
cast<R>() → Iterable<R>
A view of this iterable as an iterable of R instances.
inherited
contains(Object? element) → bool
Whether the collection contains an element equal to element.
inherited
elementAt(int index) → CollisionProspect<T>
Returns the indexth element.
inherited
every(bool test(CollisionProspect<T> element)) → bool
Checks whether every element of this iterable satisfies test.
inherited
expand<T>(Iterable<T> toElements(CollisionProspect<T> element)) → Iterable<T>
Expands each element of this Iterable into zero or more elements.
inherited
firstWhere(bool test(CollisionProspect<T> element), {CollisionProspect<T> orElse()?}) → CollisionProspect<T>
The first element that satisfies the given predicate test.
inherited
fold<T>(T initialValue, T combine(T previousValue, CollisionProspect<T> element)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited
followedBy(Iterable<CollisionProspect<T>> other) → Iterable<CollisionProspect<T>>
Creates the lazy concatenation of this iterable and other.
inherited
forEach(void action(CollisionProspect<T> element)) → void
Invokes action on each element of this iterable in iteration order.
inherited
join([String separator = ""]) → String
Converts each element to a String and concatenates the strings.
inherited
lastWhere(bool test(CollisionProspect<T> element), {CollisionProspect<T> orElse()?}) → CollisionProspect<T>
The last element that satisfies the given predicate test.
inherited
map<T>(T toElement(CollisionProspect<T> e)) → 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
reduce(CollisionProspect<T> combine(CollisionProspect<T> value, CollisionProspect<T> element)) → CollisionProspect<T>
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited
reset() → void
Resets the pool for the next frame. Previously acquired prospects should not be accessed after this call.
singleWhere(bool test(CollisionProspect<T> element), {CollisionProspect<T> orElse()?}) → CollisionProspect<T>
The single element that satisfies test.
inherited
skip(int count) → Iterable<CollisionProspect<T>>
Creates an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(CollisionProspect<T> element)) → Iterable<CollisionProspect<T>>
Creates an Iterable that skips leading elements while test is satisfied.
inherited
take(int count) → Iterable<CollisionProspect<T>>
Creates a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(CollisionProspect<T> element)) → Iterable<CollisionProspect<T>>
Creates a lazy iterable of the leading elements satisfying test.
inherited
toList({bool growable = true}) → List<CollisionProspect<T>>
Creates a List containing the elements of this Iterable.
inherited
toSet() → Set<CollisionProspect<T>>
Creates a Set containing the same elements as this iterable.
inherited
toString() → String
Returns a string representation of (some of) the elements of this.
inherited
where(bool test(CollisionProspect<T> element)) → Iterable<CollisionProspect<T>>
Creates a new lazy Iterable with all elements that satisfy the predicate test.
inherited
whereType<T>() → Iterable<R>
Creates a new lazy Iterable with all elements that have type T.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited
operator [](int index) → CollisionProspect<T>
Returns the CollisionProspect at index (must be < length).