implicit def semigroup2[A, B]()

in algebird-core/src/main/scala/com/twitter/algebird/GeneratedAbstractAlgebra.scala [4196:4789]


  implicit def semigroup2[A, B](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B]
  ): Semigroup[(A, B)] =
    new Tuple2Semigroup[A, B]()(asemigroup, bsemigroup)

  implicit def semigroup3[A, B, C](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C]
  ): Semigroup[(A, B, C)] =
    new Tuple3Semigroup[A, B, C]()(asemigroup, bsemigroup, csemigroup)

  implicit def semigroup4[A, B, C, D](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D]
  ): Semigroup[(A, B, C, D)] =
    new Tuple4Semigroup[A, B, C, D]()(asemigroup, bsemigroup, csemigroup, dsemigroup)

  implicit def semigroup5[A, B, C, D, E](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E]
  ): Semigroup[(A, B, C, D, E)] =
    new Tuple5Semigroup[A, B, C, D, E]()(asemigroup, bsemigroup, csemigroup, dsemigroup, esemigroup)

  implicit def semigroup6[A, B, C, D, E, F](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F]
  ): Semigroup[(A, B, C, D, E, F)] =
    new Tuple6Semigroup[A, B, C, D, E, F]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup
    )

  implicit def semigroup7[A, B, C, D, E, F, G](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G]
  ): Semigroup[(A, B, C, D, E, F, G)] =
    new Tuple7Semigroup[A, B, C, D, E, F, G]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup
    )

  implicit def semigroup8[A, B, C, D, E, F, G, H](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H]
  ): Semigroup[(A, B, C, D, E, F, G, H)] =
    new Tuple8Semigroup[A, B, C, D, E, F, G, H]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup
    )

  implicit def semigroup9[A, B, C, D, E, F, G, H, I](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I]
  ): Semigroup[(A, B, C, D, E, F, G, H, I)] =
    new Tuple9Semigroup[A, B, C, D, E, F, G, H, I]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup
    )

  implicit def semigroup10[A, B, C, D, E, F, G, H, I, J](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J)] =
    new Tuple10Semigroup[A, B, C, D, E, F, G, H, I, J]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup
    )

  implicit def semigroup11[A, B, C, D, E, F, G, H, I, J, K](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K)] =
    new Tuple11Semigroup[A, B, C, D, E, F, G, H, I, J, K]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup
    )

  implicit def semigroup12[A, B, C, D, E, F, G, H, I, J, K, L](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L)] =
    new Tuple12Semigroup[A, B, C, D, E, F, G, H, I, J, K, L]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup
    )

  implicit def semigroup13[A, B, C, D, E, F, G, H, I, J, K, L, M](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M)] =
    new Tuple13Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup
    )

  implicit def semigroup14[A, B, C, D, E, F, G, H, I, J, K, L, M, N](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M],
      nsemigroup: Semigroup[N]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N)] =
    new Tuple14Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup,
      nsemigroup
    )

  implicit def semigroup15[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M],
      nsemigroup: Semigroup[N],
      osemigroup: Semigroup[O]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)] =
    new Tuple15Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup,
      nsemigroup,
      osemigroup
    )

  implicit def semigroup16[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M],
      nsemigroup: Semigroup[N],
      osemigroup: Semigroup[O],
      psemigroup: Semigroup[P]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)] =
    new Tuple16Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup,
      nsemigroup,
      osemigroup,
      psemigroup
    )

  implicit def semigroup17[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M],
      nsemigroup: Semigroup[N],
      osemigroup: Semigroup[O],
      psemigroup: Semigroup[P],
      qsemigroup: Semigroup[Q]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)] =
    new Tuple17Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup,
      nsemigroup,
      osemigroup,
      psemigroup,
      qsemigroup
    )

  implicit def semigroup18[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M],
      nsemigroup: Semigroup[N],
      osemigroup: Semigroup[O],
      psemigroup: Semigroup[P],
      qsemigroup: Semigroup[Q],
      rsemigroup: Semigroup[R]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)] =
    new Tuple18Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup,
      nsemigroup,
      osemigroup,
      psemigroup,
      qsemigroup,
      rsemigroup
    )

  implicit def semigroup19[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M],
      nsemigroup: Semigroup[N],
      osemigroup: Semigroup[O],
      psemigroup: Semigroup[P],
      qsemigroup: Semigroup[Q],
      rsemigroup: Semigroup[R],
      ssemigroup: Semigroup[S]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)] =
    new Tuple19Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup,
      nsemigroup,
      osemigroup,
      psemigroup,
      qsemigroup,
      rsemigroup,
      ssemigroup
    )

  implicit def semigroup20[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M],
      nsemigroup: Semigroup[N],
      osemigroup: Semigroup[O],
      psemigroup: Semigroup[P],
      qsemigroup: Semigroup[Q],
      rsemigroup: Semigroup[R],
      ssemigroup: Semigroup[S],
      tsemigroup: Semigroup[T]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)] =
    new Tuple20Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup,
      nsemigroup,
      osemigroup,
      psemigroup,
      qsemigroup,
      rsemigroup,
      ssemigroup,
      tsemigroup
    )

  implicit def semigroup21[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M],
      nsemigroup: Semigroup[N],
      osemigroup: Semigroup[O],
      psemigroup: Semigroup[P],
      qsemigroup: Semigroup[Q],
      rsemigroup: Semigroup[R],
      ssemigroup: Semigroup[S],
      tsemigroup: Semigroup[T],
      usemigroup: Semigroup[U]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)] =
    new Tuple21Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup,
      nsemigroup,
      osemigroup,
      psemigroup,
      qsemigroup,
      rsemigroup,
      ssemigroup,
      tsemigroup,
      usemigroup
    )

  implicit def semigroup22[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V](implicit
      asemigroup: Semigroup[A],
      bsemigroup: Semigroup[B],
      csemigroup: Semigroup[C],
      dsemigroup: Semigroup[D],
      esemigroup: Semigroup[E],
      fsemigroup: Semigroup[F],
      gsemigroup: Semigroup[G],
      hsemigroup: Semigroup[H],
      isemigroup: Semigroup[I],
      jsemigroup: Semigroup[J],
      ksemigroup: Semigroup[K],
      lsemigroup: Semigroup[L],
      msemigroup: Semigroup[M],
      nsemigroup: Semigroup[N],
      osemigroup: Semigroup[O],
      psemigroup: Semigroup[P],
      qsemigroup: Semigroup[Q],
      rsemigroup: Semigroup[R],
      ssemigroup: Semigroup[S],
      tsemigroup: Semigroup[T],
      usemigroup: Semigroup[U],
      vsemigroup: Semigroup[V]
  ): Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)] =
    new Tuple22Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V]()(
      asemigroup,
      bsemigroup,
      csemigroup,
      dsemigroup,
      esemigroup,
      fsemigroup,
      gsemigroup,
      hsemigroup,
      isemigroup,
      jsemigroup,
      ksemigroup,
      lsemigroup,
      msemigroup,
      nsemigroup,
      osemigroup,
      psemigroup,
      qsemigroup,
      rsemigroup,
      ssemigroup,
      tsemigroup,
      usemigroup,
      vsemigroup
    )

}

trait GeneratedMonoidImplicits {