Swap

libretto.lambda.Shuffle.Transfer$.Swap
case class Swap[X1, X2]() extends Transfer[X1, X2, X2, X1]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Transfer[X1, X2, X2, X1]
trait TransferOpt[X1, X2, X2, X1]
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

override def after[Z1, Z2](that: Transfer[Z1, Z2, X1, X2]): Z1 |*| Z2 ~⚬ X2 |*| X1

Attributes

Definition Classes
override def assocLR_this_assocRL[X, Y1, Y2](h: AssocRL[X, X2, X1, Y1, Y2]): X |*| X1 |*| X2 ~⚬ Y1 |*| Y2 |*| X1

Attributes

Definition Classes
override def assocLR_this_ixi[P1, P2, Q1, Q2, Q3, Q4](that: IXI[P1, P2, X2, X1, Q1, Q2, Q3, Q4]): P1 |*| P2 |*| X1 |*| X2 ~⚬ Q1 |*| Q2 |*| Q3 |*| Q4

Attributes

Definition Classes
override def assocLR_this_xi[X, Y2, Y3](h: XI[X, X2, X1, Y2, Y3]): X |*| X1 |*| X2 ~⚬ X2 |*| Y2 |*| Y3

Attributes

Definition Classes
override def assocRL_this_assocLR[X, Y2, Y3](h: AssocLR[X2, X1, X, Y2, Y3]): X1 |*| X2 |*| X ~⚬ X2 |*| Y2 |*| Y3

Attributes

Definition Classes
override def assocRL_this_ix[X, Y1, Y2](h: IX[X2, X1, X, Y1, Y2]): X1 |*| X2 |*| X ~⚬ Y1 |*| Y2 |*| X1

Attributes

Definition Classes
override def assocRL_this_ixi[X3, X4, Y1, Y2, Y3, Y4](that: IXI[X2, X1, X3, X4, Y1, Y2, Y3, Y4]): X1 |*| X2 |*| X3 |*| X4 ~⚬ Y1 |*| Y2 |*| Y3 |*| Y4

Attributes

Definition Classes
override def invert: Xfer[X2, X1, _, _, X1, X2]

Attributes

Definition Classes
override def ix_this_assocLR[X, Y2, Y3](that: AssocLR[X2, X1, X, Y2, Y3]): X1 |*| X |*| X2 ~⚬ X2 |*| Y2 |*| Y3

Attributes

Definition Classes
override def ix_this_ix[X, Y1, Y2](that: IX[X2, X1, X, Y1, Y2]): X1 |*| X |*| X2 ~⚬ Y1 |*| Y2 |*| X1

Attributes

Definition Classes
override def ix_this_ixi[P1, P2, Q1, Q2, Q3, Q4](that: IXI[X2, X1, P1, P2, Q1, Q2, Q3, Q4]): X1 |*| P1 |*| P2 |*| X2 ~⚬ Q1 |*| Q2 |*| Q3 |*| Q4

Attributes

Definition Classes
override def ixiPairWith_:[A1, A2, A3, A4, B1, B2, B3, B4](that: IXI[A1, A2, A3, A4, B1, B2, B3, B4]): BiTransferOpt[A1 |*| A2, A3 |*| A4, X1, X2, B1 |*| B2, B3 |*| B4, X2, X1]

Attributes

Definition Classes
override def ixi_fstThis_assocLR[P1, P2, Q1, Q2, R2, R3](g2: TransferOpt[P1, P2, Q1, Q2], that: AssocLR[X2, X1, Q1 |*| Q2, R2, R3]): X1 |*| P1 |*| X2 |*| P2 ~⚬ X2 |*| R2 |*| R3

Attributes

Definition Classes
override def ixi_sndThis_assocRL[P1, P2, Q1, Q2, R1, R2](g1: TransferOpt[P1, P2, Q1, Q2], that: AssocRL[Q1 |*| Q2, X2, X1, R1, R2]): P1 |*| X1 |*| P2 |*| X2 ~⚬ R1 |*| R2 |*| X1

Attributes

Definition Classes
override def ixi_sndThis_xi[P1, P2, Q1, Q2, R2, R3](g1: TransferOpt[P1, P2, Q1, Q2], that: XI[Q1 |*| Q2, X2, X1, R2, R3]): P1 |*| X1 |*| P2 |*| X2 ~⚬ X2 |*| R2 |*| R3

Attributes

Definition Classes
override def nonePairWith_:[A1, A2](that: None[A1, A2]): BiTransferOpt[A1, A2, X1, X2, A1, A2, X2, X1]

Attributes

Definition Classes
override def pairWith[X3, X4, Z1, Z2](that: TransferOpt[X3, X4, Z1, Z2]): BiTransferOpt[X1, X2, X3, X4, X2, X1, Z1, Z2]

Attributes

Definition Classes
override def swapPairWith_:[A1, A2](that: Swap[A1, A2]): BiTransferOpt[A1, A2, X1, X2, A2, A1, X2, X1]

Attributes

Definition Classes
override def thenAssocLR[X21, X22, C2, C3](that: AssocLR[X21, X22, X1, C2, C3])(implicit ev: X2 =:= X21 |*| X22): X1 |*| X2 ~⚬ X21 |*| C2 |*| C3

Attributes

Definition Classes
override def thenAssocRL[B21, B22, C1, C2](that: AssocRL[X2, B21, B22, C1, C2])(using ev: X1 =:= B21 |*| B22): X1 |*| X2 ~⚬ C1 |*| C2 |*| B22

Attributes

Definition Classes
override def thenBi[C1, C2](g1: X2 ~⚬ C1, g2: X1 ~⚬ C2): Xfer[X1, X2, _, _, C1, C2]

Attributes

Definition Classes
override def thenIX[B11, B12, C1, C2](that: IX[B11, B12, X1, C1, C2])(using ev: X2 =:= B11 |*| B12): X1 |*| X2 ~⚬ C1 |*| C2 |*| B12

Attributes

Definition Classes
override def thenIXI[B11, B12, B21, B22, C1, C2, C3, C4](that: IXI[B11, B12, B21, B22, C1, C2, C3, C4])(implicit ev1: X2 =:= B11 |*| B12, ev2: X1 =:= B21 |*| B22): X1 |*| X2 ~⚬ C1 |*| C2 |*| C3 |*| C4

Attributes

Definition Classes
override def thenSwap: X1 |*| X2 ~⚬ X1 |*| X2

Attributes

Definition Classes
override def thenXI[X11, X12, C2, C3](that: XI[X2, X11, X12, C2, C3])(implicit ev: X1 =:= X11 |*| X12): X1 |*| X2 ~⚬ X11 |*| C2 |*| C3

Attributes

Definition Classes
override def xi_this_assocRL[X, Y1, Y2](g: AssocRL[X, X2, X1, Y1, Y2]): X1 |*| X |*| X2 ~⚬ Y1 |*| Y2 |*| X1

Attributes

Definition Classes
override def xi_this_xi[X, C2, C3](g: XI[X, X2, X1, C2, C3]): X1 |*| X |*| X2 ~⚬ X2 |*| C2 |*| C3

Attributes

Definition Classes

Inherited methods

def >[C1, C2](that: Transfer[X2, X1, C1, C2]): A1 |*| A2 ~⚬ C1 |*| C2

Attributes

Inherited from:
Transfer
def asShuffle: A1 |*| A2 ~⚬ B1 |*| B2

Attributes

Inherited from:
TransferOpt
override def fold[->[_, _]](using ev: SymmetricSemigroupalCategory[->, |*|]): A1 |*| A2 -> B1 |*| B2

Attributes

Definition Classes
Inherited from:
Transfer
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
def to[C1, C2](implicit ev: X2 |*| X1 =:= C1 |*| C2): Transfer[A1, A2, C1, C2]

Attributes

Inherited from:
Transfer