trait
Bijection[T, S] extends AnyRef
Abstract Value Members

abstract
def
apply(t: T): S

abstract
def
invert(s: S): T
Concrete Value Members

final
def
!=(arg0: AnyRef): Boolean

final
def
!=(arg0: Any): Boolean

final
def
##(): Int

def
+(other: String): String

def
>[B](y: B): (Bijection[T, S], B)

final
def
==(arg0: AnyRef): Boolean

final
def
==(arg0: Any): Boolean

final
def
asInstanceOf[T0]: T0

def
clone(): AnyRef

def
ensuring(cond: (Bijection[T, S]) ⇒ Boolean, msg: ⇒ Any): Bijection[T, S]

def
ensuring(cond: (Bijection[T, S]) ⇒ Boolean): Bijection[T, S]

def
ensuring(cond: Boolean, msg: ⇒ Any): Bijection[T, S]

def
ensuring(cond: Boolean): Bijection[T, S]

final
def
eq(arg0: AnyRef): Boolean

def
equals(arg0: Any): Boolean

def
finalize(): Unit

def
formatted(fmtstr: String): String

def
function: (T) ⇒ S

final
def
getClass(): Class[_]

def
hashCode(): Int

def
inverse: Bijection[S, T]

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

def
→[B](y: B): (Bijection[T, S], B)
Shadowed Implicit Value Members

val
self: Any

val
self: Any
Inherited from Any
Inherited by implicit conversion any2stringadd from
Bijection[T, S] to StringAdd
Inherited by implicit conversion any2stringfmt from
Bijection[T, S] to StringFormat
Inherited by implicit conversion any2ArrowAssoc from
Bijection[T, S] to ArrowAssoc[Bijection[T, S]]
Inherited by implicit conversion any2Ensuring from
Bijection[T, S] to Ensuring[Bijection[T, S]]
A bijective function between values of two types
T
andS
.A bijection maps every element of type
T
into exactly one element of typeS
, and every element of typeS
into exactly one element of typeT
. It is a function and its inverse bundled together. Additionally, it has the property thatb.inv(b.apply(x)) == x
andb.apply(b.inv(x)) == x
.Note: Bijection is specialized. Boxing is avoided for primitive values if both the source type and the target type are integers, longs or doubles.