def cross[Q2, L2, X2]()

in storehaus-algebra/src/main/scala/com/twitter/storehaus/algebra/query/QueryStrategy.scala [50:59]


  def cross[Q2, L2, X2](qs2: QueryStrategy[Q2, L2, X2]): QueryStrategy[(Q, Q2), (L, L2), (X, X2)] =
    new AbstractQueryStrategy[(Q, Q2), (L, L2), (X, X2)] {
      def query(q: (Q, Q2)) =
        for (x1 <- self.query(q._1); x2 <- qs2.query(q._2))
          yield (x1, x2)

      def index(key: (L, L2)) =
        for (x1 <- self.index(key._1); x2 <- qs2.index(key._2))
          yield (x1, x2)
    }