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 for Char
related 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 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 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.