scala.slick.collection.heterogenous

Nat

abstract class Nat extends AnyRef

Natural numbers for indexing in HLists.

All type-level computations are done with Church Numerals. Value-level computations at run-time are done directly on the underlying Int values, similar to java.lang.Integer.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Nat
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Nat()

Type Members

  1. abstract type *[_ <: Nat] <: Nat

    Multiply another Nat with this one.

  2. abstract type +[_ <: Nat] <: Nat

    Add another Nat to this one.

  3. type ++ = Succ[Self]

    Increment this Nat.

  4. abstract type Flip_^[_ <: Nat] <: Nat

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

    The type of a folding operation on this Nat.

  6. abstract type Self <: Nat

    The type of this Nat object.

  7. type ^[T <: Nat] = ^.T.Flip_^[Self]

    Raise this Nat to the exponent given by another Nat.

  8. type _0 = Self.*[_10]

    Multiply this Nat by 10.

  9. type _1 = *.+[Nat._1]

    Multiply this Nat by 10, then add 1.

  10. type _2 = *.+[Nat._2]

    Multiply this Nat by 10, then add 2.

  11. type _3 = *.+[Nat._3]

    Multiply this Nat by 10, then add 3.

  12. type _4 = *.+[Nat._4]

    Multiply this Nat by 10, then add 4.

  13. type _5 = *.+[Nat._5]

    Multiply this Nat by 10, then add 5.

  14. type _6 = *.+[Nat._6]

    Multiply this Nat by 10, then add 6.

  15. type _7 = *.+[Nat._7]

    Multiply this Nat by 10, then add 7.

  16. type _8 = *.+[Nat._8]

    Multiply this Nat by 10, then add 8.

  17. type _9 = *.+[Nat._9]

    Multiply this Nat by 10, then add 9.

Abstract Value Members

  1. abstract def self: Self

    This Nat, typed as Self.

  2. abstract def value: Int

    The equivalent Int value for this Nat.

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def *[T <: Nat](n: T): *[T]

    Multiply another Nat with this one.

  5. def +[T <: Nat](n: T): +[T]

    Add another Nat to this one.

  6. def ++: ++

    Increment this Nat.

  7. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  8. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  9. def ^[T <: Nat](n: T): ^[T]

    Raise this Nat to the exponent given by another Nat.

  10. def _0: _0

    Multiply this Nat by 10.

  11. def _1: _1

    Multiply this Nat by 10, then add 1.

  12. def _2: _2

    Multiply this Nat by 10, then add 2.

  13. def _3: _3

    Multiply this Nat by 10, then add 3.

  14. def _4: _4

    Multiply this Nat by 10, then add 4.

  15. def _5: _5

    Multiply this Nat by 10, then add 5.

  16. def _6: _6

    Multiply this Nat by 10, then add 6.

  17. def _7: _7

    Multiply this Nat by 10, then add 7.

  18. def _8: _8

    Multiply this Nat by 10, then add 8.

  19. def _9: _9

    Multiply this Nat by 10, then add 9.

  20. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  21. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  23. def equals(o: Any): Boolean

    Definition Classes
    Nat → AnyRef → Any
  24. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  26. def hashCode(): Int

    Definition Classes
    Nat → AnyRef → Any
  27. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  28. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  29. final def notify(): Unit

    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  32. def toString(): String

    Definition Classes
    Nat → AnyRef → Any
  33. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped