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
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): 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[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )