package mutable
- Alphabetic
- Public
- Protected
Type Members
- class ArrayMap[T >: Null <: AnyRef] extends AnyRef
Conceptually, a map where the (implicit) keys are positive
Int
values and the values are non-null
;null
values are not permitted! The key values always have to be larger than or equal to 0 and are ideally continues (0,1,2,3,...).Conceptually, a map where the (implicit) keys are positive
Int
values and the values are non-null
;null
values are not permitted! The key values always have to be larger than or equal to 0 and are ideally continues (0,1,2,3,...). The values are stored in a plain array to enable true O(1) retrieval. Furthermore, the array is only as large as it has to be to keep the value associated with the largest key.- Note
This data structure is not thread safe.
- sealed abstract class FixedSizeBitSet extends BitSet with Serializable
A bit set with a given upper bound for the largest value that can be stored in the set.
A bit set with a given upper bound for the largest value that can be stored in the set. The upper bound is only used to create an optimal underlying representation. It has no impact on equals and/or hashcode computations. I.e., two sets with two different upper bounds which contain the same values, are equal and have the same hashcode.
Conceptually, the an array of long values is used to store the values.
- Note
If values are added to the set that are larger than the specified size the behavior is undefined!
- class FixedSizedHashIDMap[K <: AnyRef, V] extends AnyRef
Conceptually, a map where the keys have to have unique hash codes that are spread over a previously known range.
Conceptually, a map where the keys have to have unique hash codes that are spread over a previously known range.
Hence, Using this map has three requirements:
- The value returned by the hashcode function of the keys have to be unique w.r.t. the values stored in the map; i.e., two different key objects have to have different hashcode values.
- The range of hashcode values returned by the keys has to be known and should be reasonably consecutive because an array will be preallocated to hold all values. (it can nevertheless start with an arbitrary int)
- The number of eventually stored key/values should be > 1/4 of the range of key values to amortize the costs of the underlying data-structures.
- Note
The
,null
key is not permitted.This data structure is not thread safe.
- final class IntArrayStack extends IndexedSeq[Int] with IndexedSeqOps[Int, Stack, IntArrayStack] with Cloneable[IntArrayStack] with Serializable
An array based implementation of a mutable stack of
int
values which has a given initial size.An array based implementation of a mutable stack of
int
values which has a given initial size. If the stack is non-empty, the index of the top value is0
and the index of the bottom value is (length-1
). - final class IntQueue extends Serializable
A lightweight, linked-list based implementation of a mutable queue of int values.
A lightweight, linked-list based implementation of a mutable queue of int values.
- Attributes
- protected[opalj]
- Note
This data-structure is only intended to be used by OPAL.
,This data structure is not thread safe.
- sealed trait Locals[T >: Null <: AnyRef] extends AnyRef
THIS DATASTRUCTURE IS ONLY INTENDED TO BE USED BY THE AI FRAMEWORK, DON'T USE IT OTHERWISE.
THIS DATASTRUCTURE IS ONLY INTENDED TO BE USED BY THE AI FRAMEWORK, DON'T USE IT OTHERWISE.
Conceptually, an array that enables random access and which is heavily optimized for small(er) collections (up to 12 elements) that are frequently compared and updated and where sharing is beneficial.
A
Locals
array containsnull
values for all elements that are not yet set. Furthermore, aLocals
array is not resizable and – if used in development mode – minimizes checks whenever possible. I.e., the user is expected to correctly use this data structure.Usage Scenario
For example, the median of the number of registers that are used per method is 2 (JDK and OPAL) and more then 99,5% of all methods have less than 20 elements and in particular those elements related to the parameters do not change often.
- final class RefAccumulator[A <: AnyRef] extends AnyRef
A list based accumulator of values and collections of values where the collections of values are not copied to the accumulator but only an iterator of those values.
A list based accumulator of values and collections of values where the collections of values are not copied to the accumulator but only an iterator of those values. Hence, the collections that are added to this accumulator must not be mutated after being added.
- A
A type which is NOT a subtype of
Iterator[_]
.
- Note
This is not a general purpose data-structure due to the requirements on the immutability of added collections.
Value Members
- object ArrayMap
- object FixedSizeBitSet extends Serializable
Factory to create fixed size bit arrays.
- object FixedSizedHashIDMap
- object IntArrayStack extends SpecificIterableFactory[Int, IntArrayStack] with Serializable
Factory to create IntArrayStacks.
- object IntQueue extends Serializable
Factory to create IntQueues.
- object Locals
- object RefAccumulator
Factory to create RefAccumulators.