Packages

  • package root
    Definition Classes
    root
  • package net
    Definition Classes
    root
  • package liftweb
    Definition Classes
    net
  • package common
    Definition Classes
    liftweb
  • object HLists

    Basic support for heterogeneous lists, aka HLists.

    Basic support for heterogeneous lists, aka HLists.

    An HList can be constructed like so:

    import net.liftweb.common.HLists._
    
    trait Base
    case class Type1(value: String) extends Base
    case class Type2(otherValue: String) extends Base
    
    val myHList = Type1("Value") :+: Type2("Other Value") :+: HNil
    myHList match {
      case firstThing :+: secondThing :+: HNil =>
        println(firstThing.value)
        println(secondThing.otherValue)
    }

    Above, we see that the HList preserved the value of the types of its members, otherwise we wouldn't have been able to fetch value and otherValue, respectively.

    Trying the same thing with a list won't work:

    val myList = Type1("Value") :: Type2("Other Value") :: Nil
    myList match {
      case firstThing :: secondThing :: Nil =>
        // error: value value is not a member of Product with Serializable with Base
        println(firstThing.value)
    }

    This is because value is not defined in Base. The inferred type of the List has to be a common ancestor class or trait of Type1 and Type2, and no such type has a value method.

    Definition Classes
    common
  • :+:
  • HList
  • HListMethods
  • HNil

sealed trait HList extends AnyRef

The base trait for HLists. Functions that take HLists will need a type parameter subtype of HList:

def myHListFunction[T <: HList](list: HList) = {
  println(s"This HList has ${list.length} items!")
}
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HList
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped