-
- All Implemented Interfaces:
-
io.github.millibyte1.array64.Array64
,io.github.millibyte1.array64.atomic.AtomicArray64
,kotlin.collections.Iterable
public interface AtomicCharArray64 implements AtomicArray64<Char>
Marker interface for AtomicArray64s of unboxed primitive Chars.
-
-
Method Summary
Modifier and Type Method Description abstract Character
get(Long index)
Returns the element at the given index. abstract Unit
set(Long index, Character value)
Sets the element at the given index to the given value. abstract Character
getAndSet(Long index, Character new)
Sets the element at position index to the given new value and returns the old value. abstract Character
getAndSet(Long index, Function1<Character, Character> transform)
Sets the element at position index to the value resulting from applying the given transform to the old value. abstract Character
setAndGet(Long index, Function1<Character, Character> transform)
Sets the element at position index to the resulting value from applying the given transform to the old value. abstract Boolean
compareAndSet(Long index, Character new, Character expected)
Sets the element at position index to the given new value if the current value matches expected. abstract Boolean
compareAndSet(Long index, Character new, Function2<Character, Character, Boolean> predicate)
Sets the element at position index to the given new value if the provided predicate returns true when applied to the old and new values. abstract Unit
lazySet(Long index, Character value)
Eventually sets the element at the given index to the given value. abstract AtomicCharArray64Iterator
iterator()
Returns an iterator to the first element of this array which supports volatile and atomic operations. abstract AtomicCharArray64Iterator
iterator(Long index)
Returns an iterator to the element at the given index which supports volatile and atomic operations. abstract Long
size()
The number of elements in this array. -
Methods inherited from class io.github.millibyte1.array64.atomic.AtomicArray64
copy
-
Methods inherited from class io.github.millibyte1.array64.Array64
forEach, spliterator
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
get
abstract Character get(Long index)
Returns the element at the given index. Volatile.
- Parameters:
index
- the index of the desired element
-
set
abstract Unit set(Long index, Character value)
- Parameters:
index
- the index of the element to setvalue
- the value to set the element to
-
getAndSet
abstract Character getAndSet(Long index, Character new)
- Parameters:
index
- the index of the element to setnew
- the value to set the element to
-
getAndSet
abstract Character getAndSet(Long index, Function1<Character, Character> transform)
Sets the element at position index to the value resulting from applying the given transform to the old value. Atomic.
- Parameters:
index
- the index of the element to settransform
- the pure (side effect-free) transform function to apply to the old value
-
setAndGet
abstract Character setAndGet(Long index, Function1<Character, Character> transform)
Sets the element at position index to the resulting value from applying the given transform to the old value. Atomic.
- Parameters:
index
- the index of the element to settransform
- the pure (side effect-free) transform function to apply to the old value
-
compareAndSet
abstract Boolean compareAndSet(Long index, Character new, Character expected)
Sets the element at position index to the given new value if the current value matches expected. Atomic.
- Parameters:
index
- the index of the element to try and setnew
- the value to set the element toexpected
- the expected value of the element
-
compareAndSet
abstract Boolean compareAndSet(Long index, Character new, Function2<Character, Character, Boolean> predicate)
Sets the element at position index to the given new value if the provided predicate returns true when applied to the old and new values.
- Parameters:
index
- the index of the element to try and setnew
- the value to set the element topredicate
- the binary predicate to apply to the old and new values to decide whether to update
-
lazySet
abstract Unit lazySet(Long index, Character value)
Eventually sets the element at the given index to the given value. Depending on the implementation, may immediately perform a volatile write.
- Parameters:
index
- the index of the element to setvalue
- the value to set the element to
-
iterator
abstract AtomicCharArray64Iterator iterator()
Returns an iterator to the first element of this array which supports volatile and atomic operations.
-
iterator
abstract AtomicCharArray64Iterator iterator(Long index)
Returns an iterator to the element at the given index which supports volatile and atomic operations.
-
-
-
-