CanHold
This object contains the definitions of several types that help enforce that parsers of bounded precision only return types that can losslessly accommodate that precision.
Note that, on the JVM, there is no such thing as an unsigned value natively. Instead, the JVM provides a guarantee that overflow is well-defined, and, as such supports operations that work on numbers as if they were unsigned. For this reason, parsley
makes no distinction between unsigned and signed numbers.
Attributes
- Since
-
4.0.0
- Source
- BitBounds.scala
- Graph
-
- Supertypes
- Self type
-
CanHold.type
Members list
Type members
Types
This type-constraint requires that the given type has enough bit-width to store 16 bits of data.
This type-constraint requires that the given type has enough bit-width to store 16 bits of data.
Type parameters
- T
-
the type that can accommodate 16 bits.
Attributes
- Since
-
4.0.0
- Source
- BitBounds.scala
This type-constraint requires that the given type has enough bit-width to store 32 bits of data.
This type-constraint requires that the given type has enough bit-width to store 32 bits of data.
Type parameters
- T
-
the type that can accommodate 32 bits.
Attributes
- Since
-
4.0.0
- Source
- BitBounds.scala
This type-constraint requires that the given type has enough bit-width to store 64 bits of data.
This type-constraint requires that the given type has enough bit-width to store 64 bits of data.
Type parameters
- T
-
the type that can accommodate 64 bits.
Attributes
- Since
-
4.0.0
- Source
- BitBounds.scala
This type-constraint requires that the given type has enough bit-width to store 8 bits of data.
This type-constraint requires that the given type has enough bit-width to store 8 bits of data.
Type parameters
- T
-
the type that can accommodate 8 bits.
Attributes
- Since
-
4.0.0
- Source
- BitBounds.scala
Implicits
Implicits
Evidence that Byte
can store 8 bits of data.
Provides evidence that a type that can store 32 bits can also store 16 bits.
Provides evidence that a type that can store 32 bits can also store 16 bits.
Attributes
- Since
-
4.0.0
- Source
- BitBounds.scala
Provides evidence that a type that can store 64 bits can also store 32 bits.
Provides evidence that a type that can store 64 bits can also store 32 bits.
Attributes
- Since
-
4.0.0
- Source
- BitBounds.scala
Provides evidence that a type that can store 16 bits can also store 8 bits.
Provides evidence that a type that can store 16 bits can also store 8 bits.
Attributes
- Since
-
4.0.0
- Source
- BitBounds.scala
Evidence that Int
can store 32 bits of data.
Evidence that Long
can store 64 bits of data.
Evidence that Short
can store 16 bits of data.
Inherited implicits
Evidence that BigInt
can store (at least) 64 bits of data.
Evidence that BigInt
can store (at least) 64 bits of data.
Attributes
- Since
-
4.0.0
- Note
-
long_64
is prioritised for implicit selection over this. - Inherited from:
- LowPriorityImplicits
- Source
- BitBounds.scala