Thrown if the index does not have an element.
Produce the element corresponding to the value of the process at the given index.
Produce the element corresponding to the value of the process at the given index. This method can assume that the indices has already been range checked.
Produce the elements representing the value of the process at the given indices.
Produce the elements representing the value of the process at the given indices. Ensures that any dependencies between the elements are represented. This method must be implemented by implementations of Process. The return value maps each provided index to the corresponding element. This method can assume that the indices has already been range checked.
Check whether the given index has an element.
Returns a new process containing the elements of this process and the argument.
Returns a new process containing the elements of this process and the argument. If an index is defined in both processes, the element of the argument is used.
Get the elements representing the value of the process at the given indices.
Get the elements representing the value of the process at the given indices. Throws IndexOutOfRangeException if any index has no value.
Get an element representing the value of the process at the given index.
Get an element representing the value of the process at the given index. Throws IndexOutOfRangeException if the index has no value.
This apply method is cached, so calling process(index) always returns the same element.
Chain every value in this process through the given function, returning a new process.
Safely get the elements over optional values at all of the indices.
Safely get the elements over optional values at all of the indices. Any index that is not in range will always have value None. Dependencies between elements for indices in range will be produced.
Safely get an element over an optional value at the index.
Safely get an element over an optional value at the index. If the index is in range, the value of the element will be Some(something). If the index is out of range, the value of the element will be None.
Apply the given function to every value in this process, returning a new process.
A Process maps indices to elements over values.
Elements, of course, have a universe. Wherever possible, operations on processes, such as getting elements, or mapping or chaining through a function, produce an element in the same universe as the original element. An exception is an element over an optional value created for an index out of range, which goes in the default universe, because there is no source element. Another exception is a fold operation on a container, which is given a universe (defaults to the current Universe.universe).