BinaryMappedObjIExpr

abstract class BinaryMappedObjIExpr[T <: Txn[T], P <: ([~ <: Txn[~]] =>> Obj[~]), O <: Obj { type Peer = [~ <: Txn[~]] =>> P[~]; }, C, A](in: IExpr[T, O], b: IExpr[T, C], tx0: T)(implicit val targets: ITargets[T]) extends IExpr[T, A] with IChangeGeneratorEvent[T, A] with Caching

Mapping expression on an Ex[Obj] and one additional Ex argument. Since Obj.peer is an option, it must work also in the case that the peer is not present.

trait Caching
trait IChangeGeneratorEvent[T, A]
trait IChangeEventImpl[T, A]
trait IChangeEvent[T, A]
trait IGeneratorEvent[T, Change[A]]
trait IEventImpl[T, Change[A]]
trait IEvent[T, Change[A]]
trait Observable[T, Change[A]]
trait IExpr[T, A]
trait Disposable[T]
trait IChangePublisher[T, A]
trait IPublisher[T, Change[A]]
trait ExprLike[T, A]
trait Form[T]
class Object
trait Matchable
class Any

Value members

Abstract methods

protected def mapValue(inOpt: Option[P[T]], b: C, isInit: Boolean)(implicit tx: T): A
protected def observeObj(in: P[T])(implicit tx: T): Disposable[T]

Concrete methods

final def changed: IChangeEvent[T, A]
def dispose()(implicit tx: T): Unit
final protected def updateFromObj(now: A)(implicit tx: T): Unit
def value(implicit tx: T): A

Inherited methods

def --->(sink: IEvent[T, Any])(implicit tx: T): Unit
Inherited from:
IEventImpl
def -/->(sink: IEvent[T, Any])(implicit tx: T): Unit
Inherited from:
IEventImpl
final def fire(update: Change[A])(implicit tx: T): Unit
Inherited from:
IGeneratorEvent
def react(fun: T => Change[A] => Unit)(implicit tx: T): Disposable[T]
Inherited from:
IEventImpl

Concrete fields

final protected val ref: Ref[A]

Implicits

Implicits

implicit protected val targets: ITargets[T]