and has the semantics that whenever value changes in a way that will cause
its position in index to change or become invalid, a call is made to slot.
The index will respond by fixing the position, or if that is not possible,
by throwing an exception.
A value may contain multiple signals within different mixin aliases. If this
is the case, the interface is
Specifies how to hook up value signals to indices.
A value type Value is a signal whenever Value supports the signal interface, ie
value.connect(void delegate() slot)
value.disconnect(void delegate() slot)
and has the semantics that whenever value changes in a way that will cause its position in index to change or become invalid, a call is made to slot. The index will respond by fixing the position, or if that is not possible, by throwing an exception.
A value may contain multiple signals within different mixin aliases. If this is the case, the interface is
value.mixinAlias.connect(void delegate() slot)
value.mixinAlias.disconnect(void delegate() slot)
where mixinAlias is passed in as a string to each element of L.
Arguments must be instantiations of ValueSignal.
Signals to single indices can be specified by ValueSignal!(index[, mixinAlias])
Signals to all indices can be specified by ValueSignal!("*"[, mixinAlias])
A signal can be shared by multiple indices; however do not associate a signal to the same index more than once.