object CanHold extends LowPriorityImplicits
This object contains the definitions of several types that help enforce that parsers of bounded precision only return types that can losslessly accomodate 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.
- Source
- BitBounds.scala
- Since
4.0.0
- Alphabetic
- By Inheritance
- CanHold
- LowPriorityImplicits
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
can_hold_16_bits[T] = CanHold[_16.type, T]
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.
- Annotations
- @implicitNotFound( ... )
- Since
4.0.0
-
type
can_hold_32_bits[T] = CanHold[_32.type, T]
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.
- Annotations
- @implicitNotFound( ... )
- Since
4.0.0
-
type
can_hold_64_bits[T] = CanHold[_64.type, T]
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.
- Annotations
- @implicitNotFound( ... )
- Since
4.0.0
-
type
can_hold_8_bits[T] = CanHold[_8.type, T]
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.
- Annotations
- @implicitNotFound( ... )
- Since
4.0.0
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
implicit
val
big_64: can_hold_64_bits[BigInt]
Evidence that
BigIntcan store (at least) 64 bits of data.Evidence that
BigIntcan store (at least) 64 bits of data.- Definition Classes
- LowPriorityImplicits
- Since
4.0.0
- Note
long_64is prioritised for implicit selection over this.
-
implicit
val
byte_8: can_hold_8_bits[Byte]
Evidence that
Bytecan store 8 bits of data.Evidence that
Bytecan store 8 bits of data.- Since
4.0.0
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
implicit
def
fits_16_32[T](implicit arg0: can_hold_32_bits[T]): can_hold_16_bits[T]
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.
- Since
4.0.0
-
implicit
def
fits_32_64[T](implicit arg0: can_hold_64_bits[T]): can_hold_32_bits[T]
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.
- Since
4.0.0
-
implicit
def
fits_8_16[T](implicit arg0: can_hold_16_bits[T]): can_hold_8_bits[T]
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.
- Since
4.0.0
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
implicit
val
int_32: can_hold_32_bits[Int]
Evidence that
Intcan store 32 bits of data.Evidence that
Intcan store 32 bits of data.- Since
4.0.0
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
implicit
val
long_64: can_hold_64_bits[Long]
Evidence that
Longcan store 64 bits of data.Evidence that
Longcan store 64 bits of data.- Since
4.0.0
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
implicit
val
short_16: can_hold_16_bits[Short]
Evidence that
Shortcan store 16 bits of data.Evidence that
Shortcan store 16 bits of data.- Since
4.0.0
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()