package refined
- Source
- package.scala
- Alphabetic
- By Inheritance
- refined
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
val
W: Witness.type
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. -
def
refineMT[P]: RefineMPartiallyApplied[@@, P]
Alias for
api.RefType.refineM[P]
withshapeless.tag.@@
as type parameter forapi.RefType
.Alias for
api.RefType.refineM[P]
withshapeless.tag.@@
as type parameter forapi.RefType
.Note:
M
stands for macro andT
stands for tag. -
def
refineMV[P]: RefineMPartiallyApplied[Refined, P]
Alias for
api.RefType.refineM[P]
withapi.Refined
as type parameter forapi.RefType
.Alias for
api.RefType.refineM[P]
withapi.Refined
as type parameter forapi.RefType
.Note:
M
stands for macro andV
stands for value class. -
def
refineT[P]: RefinePartiallyApplied[@@, P]
Alias for
api.RefType.refine[P]
withshapeless.tag.@@
as type parameter forapi.RefType
.Alias for
api.RefType.refine[P]
withshapeless.tag.@@
as type parameter forapi.RefType
.Note:
T
stands for tag. -
def
refineV[P]: RefinePartiallyApplied[Refined, P]
Alias for
api.RefType.refine[P]
withapi.Refined
as type parameter forapi.RefType
.Alias for
api.RefType.refine[P]
withapi.Refined
as type parameter forapi.RefType
.Note:
V
stands for value class. -
object
auto
Module that provides automatic refinements and automatic conversions between refined types (refinement subtyping) at compile-time.
-
object
boolean extends BooleanInference0
Module for logical predicates.
-
object
char
Module for
Char
related predicates. -
object
collection extends CollectionInference
Module for collection predicates.
-
object
generic extends GenericInference
Module for generic predicates.
-
object
numeric extends NumericInference
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 asW
in refined) which include subtypes ofInt
,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. -
object
string extends StringInference
Module for
String
related predicates.Module for
String
related predicates. Note that most of the predicates incollection
also work forString
s by treating them as sequences ofChar
s.