Copyright © Sansan, Inc. All rights reserved.
> operator fun plus()の実装
operator fun ObservableArray.plus(other: ObservableArray)
: ObservableArray = object : ObservableArray {
override val size: Int get() =
[email protected] + other.size
override fun get(index: Int): T { … }
override fun updates(): Observable = Observable.merge(
[email protected](),
other.updates().map {
val offset =
[email protected]
when (it) {
is Event.DataSetChanged -> it
is Event.ItemChanged -> Event.ItemChanged(it.position + offset)
is Event.ItemInserted -> Event.ItemInserted(it.position + offset)
is Event.ItemRemoved -> Event.ItemRemoved(it.position + offset)
}
}
)
}
ޙΖͷarray͔ΒͷupdateͰ
indexΛͣΒ͢