Alias for shapeless.Witness
that provides concise syntax for
literal-based singleton types.
Alias for shapeless.Witness
that provides concise syntax for
literal-based 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 the shapeless wiki for more information about its support for singleton types.
Note that if a future version of Scala implements
SIP-23,
shapeless.Witness
won't be necessary anymore to express
literal-based singleton types. It will then be possible to use
literals directly in a position where a type is expected.
Module that provides automatic refinements and automatic conversions between refined types (refinement subtyping) at compile-time.
Module for logical predicates.
Module for Char
related predicates.
Module for collection predicates.
Module for generic predicates.
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 eu.timepit.refined.api.Refined | import eu.timepit.refined.numeric.Greater | import shapeless.nat._5 scala> refineMV[Greater[_5]](10) res1: Int Refined Greater[_5] = 10 scala> refineMV[Greater[W.`1.5`.T]](1.6) res2: Double Refined Greater[W.`1.5`.T] = 1.6
Note: generic.Equal
can also be used for numeric types.
Alias for api.RefType.refineM[P]
with shapeless.tag.@@
as type
parameter for api.RefType
.
Alias for api.RefType.refineM[P]
with shapeless.tag.@@
as type
parameter for api.RefType
.
Note: M
stands for macro and T
stands for tag.
Alias for api.RefType.refineM[P]
with api.Refined
as type
parameter for api.RefType
.
Alias for api.RefType.refineM[P]
with api.Refined
as type
parameter for api.RefType
.
Note: M
stands for macro and V
stands for value class.
Alias for api.RefType.refine[P]
with shapeless.tag.@@
as type
parameter for api.RefType
.
Alias for api.RefType.refine[P]
with shapeless.tag.@@
as type
parameter for api.RefType
.
Note: T
stands for tag.
Alias for api.RefType.refine[P]
with api.Refined
as type
parameter for api.RefType
.
Alias for api.RefType.refine[P]
with api.Refined
as type
parameter for api.RefType
.
Note: V
stands for value class.
Module for String
related predicates.
Module for String
related predicates. Note that most of the predicates
in collection
also work for String
s by treating them as sequences
of Char
s.