trait TArray[A] extends TxnDebuggable
Bulk transactional storage, roughly equivalent to Array[Ref[T]]
but
potentially much more space efficient. Elements can be read and written
directly, or the refs
method can be used to obtain transient Ref
instances backed by the elements of the TArray
.
- Alphabetic
- By Inheritance
- TArray
- TxnDebuggable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def apply(index: Int)(implicit txn: InTxn): A
Performs a transactional read of the
index
th element of this transactional array.Performs a transactional read of the
index
th element of this transactional array. Equivalent torefs(index).get
. - abstract def dbgStr: String
Returns a string representation of the transactional value in this instance for debugging convenience.
Returns a string representation of the transactional value in this instance for debugging convenience. The
Ref
reads (and writes) performed while constructing the result will be discarded before returning. This method works fine outside a transaction.If this method is called from within a transaction that is already doomed (status
Txn.Rolledback
), a string describing the reason for the outer transaction's rollback will be returned.- Definition Classes
- TxnDebuggable
- abstract def dbgValue: Any
Returns some value that is suitable for examination in a debugger, or returns a
Txn.RollbackCause
if called from inside a doomed atomic block.Returns some value that is suitable for examination in a debugger, or returns a
Txn.RollbackCause
if called from inside a doomed atomic block.- Definition Classes
- TxnDebuggable
- abstract def length: Int
Returns the length of this
TArray
, which does not change. - abstract def refs: collection.immutable.IndexedSeq[Ref[A]]
Returns a sequence of
Ref
instances that are backed by elements of thisTArray
.Returns a sequence of
Ref
instances that are backed by elements of thisTArray
. All operations on the containedRef
s are supported.As an example, the following code tests whether
a(i)
is greater than 10 without requiring the transaction to roll back for all writes toa(i)
:atomic { implicit t => if (a.refs(i).getWith( _ > 10 )) { ... lots of stuff } }
- abstract def single: View[A]
Returns a
TArray.View
that allows access to the contents of thisTArray
without requiring that anInTxn
be available.Returns a
TArray.View
that allows access to the contents of thisTArray
without requiring that anInTxn
be available. SeeRef.View
. - abstract def update(index: Int, v: A)(implicit txn: InTxn): Unit
Performs a transactional write to the
index
th element of this transactional array.Performs a transactional write to the
index
th element of this transactional array. Equivalent torefs(index).set(v)
.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated