The largest value representable as a positive
Long
, which is PosLong(9223372036854775807)
.
The largest value representable as a positive
Long
, which is PosLong(9223372036854775807)
.
The smallest value representable as a positive
Long
, which is PosLong(1L)
.
The smallest value representable as a positive
Long
, which is PosLong(1L)
.
A factory method, implemented via a macro, that produces a
PosLong
if passed a valid Long
literal, otherwise a compile time error.
A factory method, implemented via a macro, that produces a
PosLong
if passed a valid Long
literal, otherwise a compile time error.
The macro that implements this method will inspect the
specified Long
expression at compile time. If
the expression is a positive Long
literal,
i.e., with a value greater than 0, it will return
a PosLong
representing that value. Otherwise,
the passed Long
expression is either a literal
that is 0 or negative, or is not a literal, so this method
will give a compiler error.
This factory method differs from the from
factory method in that this method is implemented via a
macro that inspects Long
literals at compile
time, whereas from
inspects Long
values at run time.
the Long
literal expression to
inspect at compile time, and if positive, to return
wrapped in a PosLong
at run time.
the specified, valid Long
literal
value wrapped in a PosLong
. (If the
specified expression is not a valid Long
literal, the invocation of this method will not
compile.)
A factory/assertion method that produces an PosLong
given a
valid Long
value, or throws AssertionError
,
if given an invalid Long
value.
A factory/assertion method that produces an PosLong
given a
valid Long
value, or throws AssertionError
,
if given an invalid Long
value.
Note: you should use this method only when you are convinced that it will
always succeed, i.e., never throw an exception. It is good practice to
add a comment near the invocation of this method indicating why you think
it will always succeed to document your reasoning. If you are not sure an
ensuringValid
call will always succeed, you should use one of the other
factory or validation methods provided on this object instead: isValid
,
tryingValid
, passOrElse
, goodOrElse
, or rightOrElse
.
This method will inspect the passed Long
value and if
it is a positive Long
, i.e., a value greater
than 0, it will return a PosLong
representing that value.
Otherwise, the passed Long
value is 0 or negative, so
this method will throw AssertionError
.
This factory method differs from the apply
factory method in that apply
is implemented
via a macro that inspects Long
literals at
compile time, whereas this method inspects
Long
values at run time.
It differs from a vanilla assert
or ensuring
call in that you get something you didn't already have if the assertion
succeeds: a type that promises a Long
is positive.
the Long
to inspect, and if positive, return
wrapped in a PosLong
.
the specified Long
value wrapped in a
PosLong
, if it is positive, else
throws AssertionError
.
if the passed value is not positive
A factory method that produces an Option[PosLong]
given a
Long
value.
A factory method that produces an Option[PosLong]
given a
Long
value.
This method will inspect the passed Long
value and if
it is a positive Long
, i.e., a value greater
than 0, it will return a PosLong
representing that value,
wrapped in a Some
. Otherwise, the passed Long
value is 0 or negative, so this method will return None
.
This factory method differs from the apply
factory method in that apply
is implemented
via a macro that inspects Long
literals at
compile time, whereas from
inspects
Long
values at run time.
the Long
to inspect, and if positive, return
wrapped in a Some[PosLong]
.
the specified Long
value wrapped in a
Some[PosLong]
, if it is positive, else
None
.
A factory method that produces a PosLong
given a
Long
value and a default PosLong
.
A factory method that produces a PosLong
given a
Long
value and a default PosLong
.
This method will inspect the passed Long
value and if
it is a positive Long
, i.e., a value greater
than 0.0, it will return a PosLong
representing that value.
Otherwise, the passed Long
value is 0L or negative, so this
method will return the passed default
value.
This factory method differs from the apply
factory method in that apply
is implemented
via a macro that inspects Long
literals at
compile time, whereas from
inspects
Long
values at run time.
the Long
to inspect, and if positive, return.
the PosLong
to return if the passed
Long
value is not positive.
the specified Long
value wrapped in a
PosLong
, if it is positive, else the
default
PosLong
value.
A predicate method that returns true if a given
Long
value is positive.
A predicate method that returns true if a given
Long
value is positive.
the Long
to inspect, and if positive, return true.
true if the specified Long
is positive, else false.
Implicit Ordering instance.
Implicit widening conversion from PosLong
to
Double
.
Implicit widening conversion from PosLong
to
Double
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
, widened to Double
.
Implicit widening conversion from PosLong
to
Float
.
Implicit widening conversion from PosLong
to
Float
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
, widened to Float
.
Implicit widening conversion from PosLong
to
Long
.
Implicit widening conversion from PosLong
to
Long
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
.
Implicit widening conversion from PosLong
to
NonZeroDouble
.
Implicit widening conversion from PosLong
to
NonZeroDouble
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
, widened to Double
and
wrapped in a NonZeroDouble
.
Implicit widening conversion from PosLong
to
NonZeroFloat
.
Implicit widening conversion from PosLong
to
NonZeroFloat
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
, widened to Float
and
wrapped in a NonZeroFloat
.
Implicit widening conversion from PosLong
to
NonZeroLong
.
Implicit widening conversion from PosLong
to
NonZeroLong
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
, widened to NonZeroLong
.
Implicit widening conversion from PosLong
to
PosDouble
.
Implicit widening conversion from PosLong
to
PosDouble
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
, widened to Double
and
wrapped in a PosDouble
.
Implicit widening conversion from PosLong
to
PosFloat
.
Implicit widening conversion from PosLong
to
PosFloat
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
, widened to Float
and
wrapped in a PosFloat
.
Implicit widening conversion from PosLong
to
PosZDouble
.
Implicit widening conversion from PosLong
to
PosZDouble
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
, widened to Double
and
wrapped in a PosZDouble
.
Implicit widening conversion from PosLong
to
PosZFloat
.
Implicit widening conversion from PosLong
to
PosZFloat
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
, widened to Float
and
wrapped in a PosZFloat
.
Implicit widening conversion from PosLong
to
PosZLong
.
Implicit widening conversion from PosLong
to
PosZLong
.
the PosLong
to widen
the Long
value underlying the specified
PosLong
wrapped in a PosZLong
.
The companion object for
PosLong
that offers factory methods that producePosLong
s, implicit widening conversions fromPosLong
to other numeric types, and maximum and minimum constant values forPosLong
.