Package fj

Class P6<A,​B,​C,​D,​E,​F>


  • public abstract class P6<A,​B,​C,​D,​E,​F>
    extends java.lang.Object
    A product-6.
    • Constructor Summary

      Constructors 
      Constructor Description
      P6()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static <A,​B,​C,​D,​E,​F$>
      F<P6<A,​B,​C,​D,​E,​F$>,​A>
      __1()
      Returns a function that returns the first element of a product.
      static <A,​B,​C,​D,​E,​F$>
      F<P6<A,​B,​C,​D,​E,​F$>,​B>
      __2()
      Returns a function that returns the second element of a product.
      static <A,​B,​C,​D,​E,​F$>
      F<P6<A,​B,​C,​D,​E,​F$>,​C>
      __3()
      Returns a function that returns the third element of a product.
      static <A,​B,​C,​D,​E,​F$>
      F<P6<A,​B,​C,​D,​E,​F$>,​D>
      __4()
      Returns a function that returns the fourth element of a product.
      static <A,​B,​C,​D,​E,​F$>
      F<P6<A,​B,​C,​D,​E,​F$>,​E>
      __5()
      Returns a function that returns the fifth element of a product.
      static <A,​B,​C,​D,​E,​F$>
      F<P6<A,​B,​C,​D,​E,​F$>,​F$>
      __6()
      Returns a function that returns the sixth element of a product.
      abstract A _1()
      Access the first element of the product.
      P1<A> _1_()
      Returns the 1-product projection over the first element.
      abstract B _2()
      Access the second element of the product.
      P1<B> _2_()
      Returns the 1-product projection over the second element.
      abstract C _3()
      Access the third element of the product.
      P1<C> _3_()
      Returns the 1-product projection over the third element.
      abstract D _4()
      Access the fourth element of the product.
      P1<D> _4_()
      Returns the 1-product projection over the fourth element.
      abstract E _5()
      Access the fifth element of the product.
      P1<E> _5_()
      Returns the 1-product projection over the fifth element.
      abstract F _6()
      Access the sixth element of the product.
      P1<F> _6_()
      Returns the 1-product projection over the sixth element.
      <G,​H>
      P8<A,​B,​C,​D,​E,​F,​G,​H>
      append​(P2<G,​H> el)
      Creates a P8 by adding the given element to the current P6
      <G> P7<A,​B,​C,​D,​E,​F,​G> append​(G el)
      Creates a P7 by adding the given element to the current P6
      boolean equals​(java.lang.Object other)  
      int hashCode()  
      <X> P6<X,​B,​C,​D,​E,​F> map1​(F<A,​X> f)
      Map the first element of the product.
      <X> P6<A,​X,​C,​D,​E,​F> map2​(F<B,​X> f)
      Map the second element of the product.
      <X> P6<A,​B,​X,​D,​E,​F> map3​(F<C,​X> f)
      Map the third element of the product.
      <X> P6<A,​B,​C,​X,​E,​F> map4​(F<D,​X> f)
      Map the fourth element of the product.
      <X> P6<A,​B,​C,​D,​X,​F> map5​(F<E,​X> f)
      Map the fifth element of the product.
      <X> P6<A,​B,​C,​D,​E,​X> map6​(F<F,​X> f)
      Map the sixth element of the product.
      P6<A,​B,​C,​D,​E,​F> memo()
      Provides a memoising P6 that remembers its values.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • P6

        public P6()
    • Method Detail

      • _1

        public abstract A _1()
        Access the first element of the product.
        Returns:
        The first element of the product.
      • _2

        public abstract B _2()
        Access the second element of the product.
        Returns:
        The second element of the product.
      • _3

        public abstract C _3()
        Access the third element of the product.
        Returns:
        The third element of the product.
      • _4

        public abstract D _4()
        Access the fourth element of the product.
        Returns:
        The fourth element of the product.
      • _5

        public abstract E _5()
        Access the fifth element of the product.
        Returns:
        The fifth element of the product.
      • _6

        public abstract F _6()
        Access the sixth element of the product.
        Returns:
        The sixth element of the product.
      • map1

        public final <X> P6<X,​B,​C,​D,​E,​F> map1​(F<A,​X> f)
        Map the first element of the product.
        Parameters:
        f - The function to map with.
        Returns:
        A product with the given function applied.
      • map2

        public final <X> P6<A,​X,​C,​D,​E,​F> map2​(F<B,​X> f)
        Map the second element of the product.
        Parameters:
        f - The function to map with.
        Returns:
        A product with the given function applied.
      • map3

        public final <X> P6<A,​B,​X,​D,​E,​F> map3​(F<C,​X> f)
        Map the third element of the product.
        Parameters:
        f - The function to map with.
        Returns:
        A product with the given function applied.
      • map4

        public final <X> P6<A,​B,​C,​X,​E,​F> map4​(F<D,​X> f)
        Map the fourth element of the product.
        Parameters:
        f - The function to map with.
        Returns:
        A product with the given function applied.
      • map5

        public final <X> P6<A,​B,​C,​D,​X,​F> map5​(F<E,​X> f)
        Map the fifth element of the product.
        Parameters:
        f - The function to map with.
        Returns:
        A product with the given function applied.
      • map6

        public final <X> P6<A,​B,​C,​D,​E,​X> map6​(F<F,​X> f)
        Map the sixth element of the product.
        Parameters:
        f - The function to map with.
        Returns:
        A product with the given function applied.
      • _1_

        public final P1<A> _1_()
        Returns the 1-product projection over the first element.
        Returns:
        the 1-product projection over the first element.
      • _2_

        public final P1<B> _2_()
        Returns the 1-product projection over the second element.
        Returns:
        the 1-product projection over the second element.
      • _3_

        public final P1<C> _3_()
        Returns the 1-product projection over the third element.
        Returns:
        the 1-product projection over the third element.
      • _4_

        public final P1<D> _4_()
        Returns the 1-product projection over the fourth element.
        Returns:
        the 1-product projection over the fourth element.
      • _5_

        public final P1<E> _5_()
        Returns the 1-product projection over the fifth element.
        Returns:
        the 1-product projection over the fifth element.
      • _6_

        public final P1<F> _6_()
        Returns the 1-product projection over the sixth element.
        Returns:
        the 1-product projection over the sixth element.
      • append

        public final <G> P7<A,​B,​C,​D,​E,​F,​G> append​(G el)
        Creates a P7 by adding the given element to the current P6
        Parameters:
        el - the element to append
        Returns:
        A P7 containing the original P6 with the extra element added at the end
      • append

        public final <G,​H> P8<A,​B,​C,​D,​E,​F,​G,​H> append​(P2<G,​H> el)
        Creates a P8 by adding the given element to the current P6
        Parameters:
        el - the element to append
        Returns:
        A P8 containing the original P6 with the extra element added at the end
      • memo

        public final P6<A,​B,​C,​D,​E,​F> memo()
        Provides a memoising P6 that remembers its values.
        Returns:
        A P6 that calls this P6 once for any given element and remembers the value for subsequent calls.
      • __1

        public static <A,​B,​C,​D,​E,​F$> F<P6<A,​B,​C,​D,​E,​F$>,​A> __1()
        Returns a function that returns the first element of a product.
        Returns:
        A function that returns the first element of a product.
      • __2

        public static <A,​B,​C,​D,​E,​F$> F<P6<A,​B,​C,​D,​E,​F$>,​B> __2()
        Returns a function that returns the second element of a product.
        Returns:
        A function that returns the second element of a product.
      • __3

        public static <A,​B,​C,​D,​E,​F$> F<P6<A,​B,​C,​D,​E,​F$>,​C> __3()
        Returns a function that returns the third element of a product.
        Returns:
        A function that returns the third element of a product.
      • __4

        public static <A,​B,​C,​D,​E,​F$> F<P6<A,​B,​C,​D,​E,​F$>,​D> __4()
        Returns a function that returns the fourth element of a product.
        Returns:
        A function that returns the fourth element of a product.
      • __5

        public static <A,​B,​C,​D,​E,​F$> F<P6<A,​B,​C,​D,​E,​F$>,​E> __5()
        Returns a function that returns the fifth element of a product.
        Returns:
        A function that returns the fifth element of a product.
      • __6

        public static <A,​B,​C,​D,​E,​F$> F<P6<A,​B,​C,​D,​E,​F$>,​F$> __6()
        Returns a function that returns the sixth element of a product.
        Returns:
        A function that returns the sixth element of a product.
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class java.lang.Object