Class HList<This extends HList<This>>

java.lang.Object
de.scravy.bedrock.hlist.HList<This>
All Implemented Interfaces:
Container<Object>, ExtendedIterable<Object>, HasLengthAtLeast, Comparable<This>, Iterable<Object>
Direct Known Subclasses:
C, Nil

public abstract class HList<This extends HList<This>>
extends Object
implements Container<Object>, Comparable<This>
  • Constructor Details

  • Method Details

    • empty

      @Nonnull public static Nil empty()
    • nil

      @Nonnull public static Nil nil()
    • cons

      @Nonnull public static <E,​ L extends HList<L>> C<E,​L> cons​(E head, L tail)
    • hlist

      @Nonnull public static <E> C<E,​Nil> hlist​(E e)
    • hlist

      @Nonnull public static <E,​ F> C<E,​C<F,​Nil>> hlist​(E e, F f)
    • hlist

      @Nonnull public static <E,​ F,​ G> C<E,​C<F,​C<G,​Nil>>> hlist​(E e, F f, G g)
    • hlist

      @Nonnull public static <E,​ F,​ G,​ H> C<E,​C<F,​C<G,​C<H,​Nil>>>> hlist​(E e, F f, G g, H h)
    • hlist

      @Nonnull public static <E,​ F,​ G,​ H,​ I> C<E,​C<F,​C<G,​C<H,​C<I,​Nil>>>>> hlist​(E e, F f, G g, H h, I i)
    • hlist

      @Nonnull public static <E,​ F,​ G,​ H,​ I,​ J> C<E,​C<F,​C<G,​C<H,​C<I,​C<J,​Nil>>>>>> hlist​(E e, F f, G g, H h, I i, J j)
    • hlist

      @Nonnull public static <E,​ F,​ G,​ H,​ I,​ J,​ K> C<E,​C<F,​C<G,​C<H,​C<I,​C<J,​C<K,​Nil>>>>>>> hlist​(E e, F f, G g, H h, I i, J j, K k)
    • hlist

      @Nonnull public static <E,​ F,​ G,​ H,​ I,​ J,​ K,​ L> C<E,​C<F,​C<G,​C<H,​C<I,​C<J,​C<K,​C<L,​Nil>>>>>>>> hlist​(E e, F f, G g, H h, I i, J j, K k, L l)
    • hlist

      @Nonnull public static <E,​ F,​ G,​ H,​ I,​ J,​ K,​ L,​ M> C<E,​C<F,​C<G,​C<H,​C<I,​C<J,​C<K,​C<L,​C<M,​Nil>>>>>>>>> hlist​(E e, F f, G g, H h, I i, J j, K k, L l, M m)
    • hlist

      @Nonnull public static <E,​ F,​ G,​ H,​ I,​ J,​ K,​ L,​ M,​ N> C<E,​C<F,​C<G,​C<H,​C<I,​C<J,​C<K,​C<L,​C<M,​C<N,​Nil>>>>>>>>>> hlist​(E e, F f, G g, H h, I i, J j, K k, L l, M m, N n)
    • hlist

      @Nonnull public static <E,​ F,​ G,​ H,​ I,​ J,​ K,​ L,​ M,​ N,​ O> C<E,​C<F,​C<G,​C<H,​C<I,​C<J,​C<K,​C<L,​C<M,​C<N,​C<O,​Nil>>>>>>>>>>> hlist​(E e, F f, G g, H h, I i, J j, K k, L l, M m, N n, O o)
    • size

      @Nonnegative public abstract int size()
    • foldl

      public abstract <T> T foldl​(@Nonnull BiFunction<T,​Object,​T> f, T init)
    • foldr

      public abstract <T> T foldr​(@Nonnull BiFunction<Object,​T,​T> f, T init)
    • dynamic

      public static HList dynamic​(Iterable<?> keys)
    • mask