Package fj

Class P7<A,​B,​C,​D,​E,​F,​G>


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

      Constructors 
      Constructor Description
      P7()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static <A,​B,​C,​D,​E,​F$,​G>
      F<P7<A,​B,​C,​D,​E,​F$,​G>,​A>
      __1()
      Returns a function that returns the first element of a product.
      static <A,​B,​C,​D,​E,​F$,​G>
      F<P7<A,​B,​C,​D,​E,​F$,​G>,​B>
      __2()
      Returns a function that returns the second element of a product.
      static <A,​B,​C,​D,​E,​F$,​G>
      F<P7<A,​B,​C,​D,​E,​F$,​G>,​C>
      __3()
      Returns a function that returns the third element of a product.
      static <A,​B,​C,​D,​E,​F$,​G>
      F<P7<A,​B,​C,​D,​E,​F$,​G>,​D>
      __4()
      Returns a function that returns the fourth element of a product.
      static <A,​B,​C,​D,​E,​F$,​G>
      F<P7<A,​B,​C,​D,​E,​F$,​G>,​E>
      __5()
      Returns a function that returns the fifth element of a product.
      static <A,​B,​C,​D,​E,​F$,​G>
      F<P7<A,​B,​C,​D,​E,​F$,​G>,​F$>
      __6()
      Returns a function that returns the sixth element of a product.
      static <A,​B,​C,​D,​E,​F$,​G>
      F<P7<A,​B,​C,​D,​E,​F$,​G>,​G>
      __7()
      Returns a function that returns the seventh 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.
      abstract G _7()
      Access the seventh element of the product.
      P1<G> _7_()
      Returns the 1-product projection over the seventh element.
      <H> P8<A,​B,​C,​D,​E,​F,​G,​H> append​(H el)
      Creates a P8 by adding the given element to the current P7
      boolean equals​(java.lang.Object other)  
      int hashCode()  
      <X> P7<X,​B,​C,​D,​E,​F,​G> map1​(F<A,​X> f)
      Map the first element of the product.
      <X> P7<A,​X,​C,​D,​E,​F,​G> map2​(F<B,​X> f)
      Map the second element of the product.
      <X> P7<A,​B,​X,​D,​E,​F,​G> map3​(F<C,​X> f)
      Map the third element of the product.
      <X> P7<A,​B,​C,​X,​E,​F,​G> map4​(F<D,​X> f)
      Map the fourth element of the product.
      <X> P7<A,​B,​C,​D,​X,​F,​G> map5​(F<E,​X> f)
      Map the fifth element of the product.
      <X> P7<A,​B,​C,​D,​E,​X,​G> map6​(F<F,​X> f)
      Map the sixth element of the product.
      <X> P7<A,​B,​C,​D,​E,​F,​X> map7​(F<G,​X> f)
      Map the seventh element of the product.
      P7<A,​B,​C,​D,​E,​F,​G> memo()
      Provides a memoising P7 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

      • P7

        public P7()
    • 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.
      • _7

        public abstract G _7()
        Access the seventh element of the product.
        Returns:
        The seventh element of the product.
      • map1

        public final <X> P7<X,​B,​C,​D,​E,​F,​G> 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> P7<A,​X,​C,​D,​E,​F,​G> 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> P7<A,​B,​X,​D,​E,​F,​G> 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> P7<A,​B,​C,​X,​E,​F,​G> 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> P7<A,​B,​C,​D,​X,​F,​G> 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> P7<A,​B,​C,​D,​E,​X,​G> 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.
      • map7

        public final <X> P7<A,​B,​C,​D,​E,​F,​X> map7​(F<G,​X> f)
        Map the seventh 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.
      • _7_

        public final P1<G> _7_()
        Returns the 1-product projection over the seventh element.
        Returns:
        the 1-product projection over the seventh element.
      • append

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

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

        public static <A,​B,​C,​D,​E,​F$,​G> F<P7<A,​B,​C,​D,​E,​F$,​G>,​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$,​G> F<P7<A,​B,​C,​D,​E,​F$,​G>,​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$,​G> F<P7<A,​B,​C,​D,​E,​F$,​G>,​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$,​G> F<P7<A,​B,​C,​D,​E,​F$,​G>,​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$,​G> F<P7<A,​B,​C,​D,​E,​F$,​G>,​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$,​G> F<P7<A,​B,​C,​D,​E,​F$,​G>,​F$> __6()
        Returns a function that returns the sixth element of a product.
        Returns:
        A function that returns the sixth element of a product.
      • __7

        public static <A,​B,​C,​D,​E,​F$,​G> F<P7<A,​B,​C,​D,​E,​F$,​G>,​G> __7()
        Returns a function that returns the seventh element of a product.
        Returns:
        A function that returns the seventh 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