abstract class Integer extends AnyRef
This class defines a uniform interface for defining parsers for integer literals, independent of how whitespace should be handled after the literal or whether the literal should allow for negative numbers.
- Source
- Integer.scala
- Since
4.0.0
- Note
implementations of this class found within
Lexer
may employ sharing and refine the non-finaldef
s in this class intoval
orlazy val
when overriding.
- Alphabetic
- By Inheritance
- Integer
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def binary: Parsley[BigInt]
This parser will parse a single integer literal, which is in binary form (base 2).
This parser will parse a single integer literal, which is in binary form (base 2).
// using signed integers and standard numeric prefixes scala> binary.parse("0b1011") val res0 = Success(BigInt(11)) scala> binary.parse("10") val res2 = Failure(..) // no binary prefix scala> binary.parse("0b22") val res3 = Failure(..) // no other digits
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
Example: - abstract def bounded[T](number: Parsley[BigInt], bits: Bits, radix: Int)(implicit ev: CanHold[self, T]): Parsley[T]
- Attributes
- protected[numeric]
- abstract def decimal: Parsley[BigInt]
This parser will parse a single integer literal, which is in decimal form (base 10).
This parser will parse a single integer literal, which is in decimal form (base 10).
// using signed integers and standard numeric prefixes scala> decimal.parse("103") val res0 = Success(BigInt(103)) scala> decimal.parse("9999999999999999999999999999999999") val res1 = Success(BigInt(9999999999999999999999999999999999)) scala> decimal.parse("1f") val res2 = Failure(..) // no hexadecimal digits supported scala> decimal.parse("0xff") val res3 = Failure(..) // no hexadecimal literals either
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
Example: - abstract def hexadecimal: Parsley[BigInt]
This parser will parse a single integer literal, which is in hexadecimal form (base 16).
This parser will parse a single integer literal, which is in hexadecimal form (base 16).
// using signed integers and standard numeric prefixes scala> hexadecimal.parse("0x103") val res0 = Success(BigInt(259)) scala> hexadecimal.parse("0x9999999999999999999999999999999999") val res1 = Success(BigInt(0x9999999999999999999999999999999999)) scala> hexadecimal.parse("1f") val res2 = Failure(..) // no hexadecimal prefix scala> hexadecimal.parse("0xff") val res3 = Success(BigInt(0xff))
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
Example: - abstract def number: Parsley[BigInt]
This parser will parse a single integer literal, which can be in many forms and bases depending on the configuration.
This parser will parse a single integer literal, which can be in many forms and bases depending on the configuration.
// using signed integers and standard numeric prefixes (and octal, binary, and decimal on) scala> number.parse("0b1011") val res0 = Success(BigInt(11)) scala> number.parse("0o103") val res1 = Success(BigInt(43)) scala> number.parse("10") val res2 = Success(10) scala> number.parse("0xff") val res1 = Failure(..) // configuration specified above does not support hex
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
Example: - abstract def octal: Parsley[BigInt]
This parser will parse a single integer literal, which is in octal form (base 8).
This parser will parse a single integer literal, which is in octal form (base 8).
// using signed integers and standard numeric prefixes scala> octal.parse("0o103") val res0 = Success(BigInt(43)) scala> octal.parse("1f") val res2 = Failure(..) // no hexadecimal digits supported scala> octal.parse("0xff") val res3 = Failure(..) // no hexadecimal literals either
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
Example:
Concrete 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
- def _binary: Parsley[BigInt]
- Attributes
- protected[numeric]
- def _decimal: Parsley[BigInt]
- Attributes
- protected[numeric]
- def _hexadecimal: Parsley[BigInt]
- Attributes
- protected[numeric]
- def _number: Parsley[BigInt]
- Attributes
- protected[numeric]
- def _octal: Parsley[BigInt]
- Attributes
- protected[numeric]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def binary16[T](implicit arg0: can_hold_16_bits[T]): Parsley[T]
This parser will behave the same as
binary
except it will ensure that the resultingBigInt
is a valid 16-bit number.This parser will behave the same as
binary
except it will ensure that the resultingBigInt
is a valid 16-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Short
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def binary32[T](implicit arg0: can_hold_32_bits[T]): Parsley[T]
This parser will behave the same as
binary
except it will ensure that the resultingBigInt
is a valid 32-bit number.This parser will behave the same as
binary
except it will ensure that the resultingBigInt
is a valid 32-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Int
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def binary64[T](implicit arg0: can_hold_64_bits[T]): Parsley[T]
This parser will behave the same as
binary
except it will ensure that the resultingBigInt
is a valid 64-bit number.This parser will behave the same as
binary
except it will ensure that the resultingBigInt
is a valid 64-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Long
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def binary8[T](implicit arg0: can_hold_8_bits[T]): Parsley[T]
This parser will behave the same as
binary
except it will ensure that the resultingBigInt
is a valid 8-bit number.This parser will behave the same as
binary
except it will ensure that the resultingBigInt
is a valid 8-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Byte
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def decimal16[T](implicit arg0: can_hold_16_bits[T]): Parsley[T]
This parser will behave the same as
decimal
except it will ensure that the resultingBigInt
is a valid 16-bit number.This parser will behave the same as
decimal
except it will ensure that the resultingBigInt
is a valid 16-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Short
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def decimal32[T](implicit arg0: can_hold_32_bits[T]): Parsley[T]
This parser will behave the same as
decimal
except it will ensure that the resultingBigInt
is a valid 32-bit number.This parser will behave the same as
decimal
except it will ensure that the resultingBigInt
is a valid 32-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Int
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def decimal64[T](implicit arg0: can_hold_64_bits[T]): Parsley[T]
This parser will behave the same as
decimal
except it will ensure that the resultingBigInt
is a valid 64-bit number.This parser will behave the same as
decimal
except it will ensure that the resultingBigInt
is a valid 64-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Long
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def decimal8[T](implicit arg0: can_hold_8_bits[T]): Parsley[T]
This parser will behave the same as
decimal
except it will ensure that the resultingBigInt
is a valid 8-bit number.This parser will behave the same as
decimal
except it will ensure that the resultingBigInt
is a valid 8-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Byte
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def hexadecimal16[T](implicit arg0: can_hold_16_bits[T]): Parsley[T]
This parser will behave the same as
hexadecimal
except it will ensure that the resultingBigInt
is a valid 16-bit number.This parser will behave the same as
hexadecimal
except it will ensure that the resultingBigInt
is a valid 16-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Short
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def hexadecimal32[T](implicit arg0: can_hold_32_bits[T]): Parsley[T]
This parser will behave the same as
hexadecimal
except it will ensure that the resultingBigInt
is a valid 32-bit number.This parser will behave the same as
hexadecimal
except it will ensure that the resultingBigInt
is a valid 32-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Int
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def hexadecimal64[T](implicit arg0: can_hold_64_bits[T]): Parsley[T]
This parser will behave the same as
hexadecimal
except it will ensure that the resultingBigInt
is a valid 64-bit number.This parser will behave the same as
hexadecimal
except it will ensure that the resultingBigInt
is a valid 64-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Long
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def hexadecimal8[T](implicit arg0: can_hold_8_bits[T]): Parsley[T]
This parser will behave the same as
hexadecimal
except it will ensure that the resultingBigInt
is a valid 8-bit number.This parser will behave the same as
hexadecimal
except it will ensure that the resultingBigInt
is a valid 8-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Byte
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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()
- final def number16[T](implicit arg0: can_hold_16_bits[T]): Parsley[T]
This parser will behave the same as
number
except it will ensure that the resultingBigInt
is a valid 16-bit number.This parser will behave the same as
number
except it will ensure that the resultingBigInt
is a valid 16-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Short
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def number32[T](implicit arg0: can_hold_32_bits[T]): Parsley[T]
This parser will behave the same as
number
except it will ensure that the resultingBigInt
is a valid 32-bit number.This parser will behave the same as
number
except it will ensure that the resultingBigInt
is a valid 32-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Int
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def number64[T](implicit arg0: can_hold_64_bits[T]): Parsley[T]
This parser will behave the same as
number
except it will ensure that the resultingBigInt
is a valid 64-bit number.This parser will behave the same as
number
except it will ensure that the resultingBigInt
is a valid 64-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Long
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def number8[T](implicit arg0: can_hold_8_bits[T]): Parsley[T]
This parser will behave the same as
number
except it will ensure that the resultingBigInt
is a valid 8-bit number.This parser will behave the same as
number
except it will ensure that the resultingBigInt
is a valid 8-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Byte
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def octal16[T](implicit arg0: can_hold_16_bits[T]): Parsley[T]
This parser will behave the same as
octal
except it will ensure that the resultingBigInt
is a valid 16-bit number.This parser will behave the same as
octal
except it will ensure that the resultingBigInt
is a valid 16-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Short
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def octal32[T](implicit arg0: can_hold_32_bits[T]): Parsley[T]
This parser will behave the same as
octal
except it will ensure that the resultingBigInt
is a valid 32-bit number.This parser will behave the same as
octal
except it will ensure that the resultingBigInt
is a valid 32-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Int
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def octal64[T](implicit arg0: can_hold_64_bits[T]): Parsley[T]
This parser will behave the same as
octal
except it will ensure that the resultingBigInt
is a valid 64-bit number.This parser will behave the same as
octal
except it will ensure that the resultingBigInt
is a valid 64-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Long
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- final def octal8[T](implicit arg0: can_hold_8_bits[T]): Parsley[T]
This parser will behave the same as
octal
except it will ensure that the resultingBigInt
is a valid 8-bit number.This parser will behave the same as
octal
except it will ensure that the resultingBigInt
is a valid 8-bit number. The resulting number will be converted to the given typeT
, which must be able to losslessly store the parsed value; this is enforced by the constraint on the type. This accounts for unsignedness when necessary.- T
the desired type of the result, defaulting to
Byte
- Annotations
- @inline()
- Since
4.0.0
- Note
the exact behaviour of this parser is decided by the implementations given in
Lexer
, which will depend on user-defined configuration. Please see the relevant documentation of these specific objects.
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()