Evidence that states if the conclusion C
can be inferred from the
premise P
or not.
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
.
Type class that allows F
to be used as result type of a refinement.
Type class that allows F
to be used as result type of a refinement.
The first type parameter of F
is the type that is being refined by
its second type parameter which is the type-level predicate that
denotes the refinement. Consequently, F[T, P]
is a phantom type
that only contains a value of type T
.
The library provides instances of RefType
for
Refined
value classshapeless.tag.@@
which is a subtype of its first parameter
(i.e. (T @@ P) <: T
)
Wraps a value of type T
that satisfies the predicate P
.
This object was generated by sbt-buildinfo.
Alias for shapeless.Witness
that provides concise syntax for
literal singleton types.
Alias for shapeless.Witness
that provides concise syntax for
literal singleton types.
Example:
scala> val d: W.`3.14`.T = 3.14 d: Double(3.14) = 3.14 scala> val s: W.`"abc"`.T = "abc" s: String("abc") = abc
See https://github.com/milessabin/shapeless/wiki/Feature-overview:-shapeless-2.0.0#singleton-typed-literals for more information about shapeless' support for singleton types.
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:
scala> import shapeless.nat._ | import shapeless.tag.@@ | import eu.timepit.refined.numeric._ scala> refineMT[Greater[_5]](10) res1: Int @@ Greater[_5] = 10 scala> refineMT[Greater[W.`1.5`.T]](1.6) res2: Double @@ Greater[W.`1.5`.T] = 1.6
Alias for RefType.refineM[P]
with shapeless.tag.@@
as type
parameter for RefType
.
Alias for RefType.refineM[P]
with shapeless.tag.@@
as type
parameter for RefType
.
Note: M
stands for macro and T
stands for tag.
Alias for RefType.refineM[P]
with Refined
as type
parameter for RefType
.
Alias for RefType.refineM[P]
with Refined
as type
parameter for RefType
.
Note: M
stands for macro and V
stands for value class.
Alias for RefType.refine[P]
with shapeless.tag.@@
as type
parameter for RefType
.
Alias for RefType.refine[P]
with shapeless.tag.@@
as type
parameter for RefType
.
Note: T
stands for tag.
Alias for RefType.refine[P]
with Refined
as type
parameter for RefType
.
Alias for RefType.refine[P]
with Refined
as type
parameter for RefType
.
Note: V
stands for value class.