Package fj.data.hlist

Class HList.HAppend<A,​B,​C>

  • Type Parameters:
    A - The type of the first list.
    B - The type of the second list.
    C - The type of the combined list.
    Enclosing class:
    HList<A extends HList<A>>

    public static final class HList.HAppend<A,​B,​C>
    extends java.lang.Object
    The concatenation of two heterogeneous lists.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private F2<A,​B,​C> append  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private HAppend​(F2<A,​B,​C> f)  
    • Field Detail

      • append

        private final F2<A,​B,​C> append
    • Constructor Detail

      • HAppend

        private HAppend​(F2<A,​B,​C> f)
    • Method Detail

      • append

        public C append​(A a,
                        B b)
        Append a given heterogeneous list to another.
        Parameters:
        a - a heterogeneous list to be appended to.
        b - a heterogeneous list to append to another.
        Returns:
        a new heterogeneous list consisting of the second argument appended to the first.
      • append

        public static <L extends HList<L>> HList.HAppend<HList.HNil,​L,​L> append()
        Returns a method for concatenating lists to the empty list.
        Returns:
        a method for concatenating lists to the empty list.
      • append

        public static <X,​A extends HList<A>,​B,​C extends HList<C>,​H extends HList.HAppend<A,​B,​C>> HList.HAppend<HList.HCons<X,​A>,​B,​HList.HCons<X,​C>> append​(H h)
        Returns a method for appending lists to a nonempty heterogeneous list.
        Parameters:
        h - a method for appending lists to the tail of the given nonempty list.
        Returns:
        a method for appending lists to a nonempty heterogeneous list.