Packages

sealed abstract class HList extends Product

A heterogenous list where each element has its own type.

Source
HList.scala
Linear Supertypes
Product, Equals, AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HList
  2. Product
  3. Equals
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type ::[E] = HCons[E, Self]

    The type of prepending an element of type E to this HList

  2. type :::[L <: HList] = :::.L.Fold[HList, PrependHead, Self]

    The type of concatenating another HList with this HList

  3. type Apply[N <: Nat] = Nat.Fold.Head

    Get the type of the Nth element of this HList

  4. type Drop[N <: Nat] = Drop.N.Fold[HList, TailOf, Self]

    Drop the first N elements from this HList and return the resulting type

  5. abstract type Fold[U, F[_ <: HList, _ <: U] <: U, Z <: U] <: U

    The type of a Fold operation on this HList

  6. abstract type Head

    The type of the first element

  7. type Length = Fold[Nat, IncrementForFold, _0]

    Get the Nat type of the length of this HList

  8. abstract type Self <: HList

    The type of this HList object

  9. abstract type Tail <: HList

    The type of the tail of this HList

Abstract Value Members

  1. abstract def fold[U, F[_ <: HList, _ <: U] <: U, Z <: U](f: TypedFunction2[HList, U, U, F], z: Z): Fold[U, F, Z]

    Fold the elements of this HList.

  2. abstract def head: Head

    Get the first element, or throw a NoSuchElementException if this HList is empty.

  3. abstract def nonEmpty: Boolean

    Check if this HList is non-empty.

  4. abstract def self: Self

    Return this HList typed as Self/

  5. abstract def tail: Tail

    Get the tail of the list, or throw a NoSuchElementException if this HList is empty.

  6. abstract def toList: List[Any]

    Convert this HList to a List[Any].

Concrete Value Members

  1. final def ::[E](elem: E): ::[E]

    Prepend an element to this HList, returning a new HList.

    Prepend an element to this HList, returning a new HList.

    Annotations
    @inline()
  2. final def :::[L <: HList](l: L): :::[L]

    Concatenate another HList to this HList, returning a new HList.

  3. final def _unsafeApply[N <: Nat](i: Int): Apply[N]
    Annotations
    @inline()
  4. final macro def apply(n: Int): Any

    Return the nth element from this HList, using the correct return type if n is a literal, otherwise Any.

  5. final def apply[N <: Nat](n: N): Apply[N]

    Return the nth element from this HList, using the correct return type.

    Return the nth element from this HList, using the correct return type.

    Annotations
    @inline()
  6. final def canEqual(that: Any): Boolean
    Definition Classes
    HList → Equals
  7. final def drop(i: Int): HList

    Drop the first n elements from this HList.

  8. final def drop[N <: Nat](n: N): Drop[N]

    Drop the first n elements from this HList.

    Drop the first n elements from this HList.

    Annotations
    @inline()
  9. final def equals(that: Any): Boolean
    Definition Classes
    HList → Equals → AnyRef → Any
  10. final def foreach(f: (Any) => Unit): Unit

    Evaluate a function for each element of this HList.

  11. final lazy val hashCode: Int
    Definition Classes
    HList → AnyRef → Any
  12. final def isEmpty: Boolean

    Check if this list is empty.

  13. final def length: Length

    Get the length of this list as a Nat.

    Get the length of this list as a Nat.

    Annotations
    @inline()
  14. final def productArity: Int

    Get the length of this list as an Int.

    Get the length of this list as an Int.

    Definition Classes
    HList → Product
  15. final def productElement(i: Int): Any
    Definition Classes
    HList → Product
  16. def productElementName(n: Int): String
    Definition Classes
    Product
  17. def productElementNames: Iterator[String]
    Definition Classes
    Product
  18. def productIterator: Iterator[Any]
    Definition Classes
    Product
  19. def productPrefix: String
    Definition Classes
    Product
  20. final def toString(): String
    Definition Classes
    HList → AnyRef → Any