trait
Join[M1[_], M2[_], R[_]] extends AnyRef
Abstract Value Members
-
abstract
def
get(outer: Ops[M1], inner: Ops[M2]): Ops[R]
Concrete Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
This typeclass with its implicit instances decides how two containers should be joined.
Supported containers are
Id
for scalar valuesOption
for optional valuesSeq
for a vector of valuesThose container types form an ordering from most specific to most abstract:
Id
contains always one valueOption
contains always zero or one valueSeq
can contain any number of valuesThe rule to determine what the result type of joining two container types is that the result is as generic as the more generic of both of the input types.
The implicit definitions in the companion object of join form evidence for this ordering.