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
- All
Abstract Value Members
- abstract def apply(index: Int)(implicit txn: InTxn): A
Performs a transactional read of the
indexth element of this transactional array.Performs a transactional read of the
indexth 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
Refreads (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.RollbackCauseif called from inside a doomed atomic block.Returns some value that is suitable for examination in a debugger, or returns a
Txn.RollbackCauseif 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
Refinstances that are backed by elements of thisTArray.Returns a sequence of
Refinstances that are backed by elements of thisTArray. All operations on the containedRefs 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.Viewthat allows access to the contents of thisTArraywithout requiring that anInTxnbe available.Returns a
TArray.Viewthat allows access to the contents of thisTArraywithout requiring that anInTxnbe available. SeeRef.View. - abstract def update(index: Int, v: A)(implicit txn: InTxn): Unit
Performs a transactional write to the
indexth element of this transactional array.Performs a transactional write to the
indexth 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()