Package

eu.timepit

refined

Permalink

package refined

Source
package.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. refined
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. case class InferenceRule[P, C](isValid: Boolean, show: String) extends Product with Serializable

    Permalink

    Evidence that states if the conclusion C can be inferred from the premise P or not.

  2. trait Predicate[P, T] extends Serializable

    Permalink

    Type class for validating values of type T according to a type-level predicate P.

    Type class for validating values of type T according to a type-level predicate P. The semantics of P are defined by the instance(s) of this type class for P.

  3. final case class Refined[T, P](get: T) extends AnyVal with Product with Serializable

    Permalink

Value Members

  1. object InferenceRule extends Serializable

    Permalink
  2. object Predicate extends Serializable

    Permalink
  3. val W: Witness.type

    Permalink
  4. object boolean extends BooleanPredicates with BooleanInferenceRules0

    Permalink
  5. object char extends CharPredicates

    Permalink
  6. object collection extends CollectionPredicates with CollectionInferenceRules

    Permalink
  7. object generic extends GenericPredicates with GenericInferenceRules

    Permalink
  8. object implicits

    Permalink
  9. package internal

    Permalink
  10. object numeric extends NumericPredicates with NumericInferenceRules

    Permalink

    Module for numeric predicates.

    Module for numeric predicates. Predicates that take type parameters support both Shapeless' natural numbers (Nat) and numeric singleton types (which are made available by Shapeless' Witness - abbreviated as W in refined) which include subtypes of Int, Long, Double, Char etc.

    Example:
    1. scala> import shapeless.nat._
           | import shapeless.tag.@@
           | import eu.timepit.refined.numeric._
      scala> refineLit[Greater[_5]](10)
      res1: Int @@ Greater[_5] = 10
      scala> refineLit[Greater[W.`1.5`.T]](1.6)
      res2: Double @@ Greater[W.`1.5`.T] = 1.6
  11. def refine[P]: Refine[P]

    Permalink
  12. def refineLit[P]: RefineLit[P]

    Permalink
  13. def refineM[P]: RefineM[P]

    Permalink
  14. object string extends StringPredicates with StringInferenceRules

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped