The largest value representable as a non-negative
Long
, which is PosZLong(9223372036854775807)
.
The largest value representable as a non-negative
Long
, which is PosZLong(9223372036854775807)
.
The smallest value representable as a positive
Long
, which is PosZLong(0L)
.
The smallest value representable as a positive
Long
, which is PosZLong(0L)
.
A factory method, implemented via a macro, that produces a
PosZLong
if passed a valid Long
literal, otherwise a compile time error.
A factory method, implemented via a macro, that produces a
PosZLong
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 non-negative Long
literal,
it will return a PosZLong
representing that value.
Otherwise, the passed Long
expression is either a literal
that is not non-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 non-negative, to return
wrapped in a PosZLong
at run time.
the specified, valid Long
literal
value wrapped in a PosZLong
. (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 PosZLong
given a
valid Long
value, or throws AssertionError
,
if given an invalid Long
value.
A factory/assertion method that produces an PosZLong
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 non-negative Long
, it will return a PosZLong
representing that value.
Otherwise, the passed Long
value is not non-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 from
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 non-negative, return
wrapped in a PosZLong
.
the specified Long
value wrapped in a
PosZLong
, if it is non-negative, else
throws AssertionError
.
AssertionError
if the passed value is not non-negative
A factory method that produces an Option[PosZLong]
given a
Long
value.
A factory method that produces an Option[PosZLong]
given a
Long
value.
This method will inspect the passed Long
value and if
it is a non-negative Long
, it will return a PosZLong
representing that value,
wrapped in a Some
. Otherwise, the passed Long
value is not non-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 non-negative, return
wrapped in a Some[PosZLong]
.
the specified Long
value wrapped in a
Some[PosZLong]
, if it is non-negative, else
None
.
A factory method that produces a PosZLong
given a
Long
value and a default PosZLong
.
A factory method that produces a PosZLong
given a
Long
value and a default PosZLong
.
This method will inspect the passed Long
value and if
it is a non-negative Long
, it will return a PosZLong
representing that value.
Otherwise, the passed Long
value is not non-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 non-negative, return.
the PosZLong
to return if the passed
Long
value is not non-negative.
the specified Long
value wrapped in a
PosZLong
, if it is non-negative, else the
default
PosZLong
value.
A factory/validation method that produces a PosZLong
, wrapped
in a Good
, given a valid Long
value, or if the
given Long
is invalid, an error value of type B
produced by passing the given invalid Long
value
to the given function f
, wrapped in a Bad
.
A factory/validation method that produces a PosZLong
, wrapped
in a Good
, given a valid Long
value, or if the
given Long
is invalid, an error value of type B
produced by passing the given invalid Long
value
to the given function f
, wrapped in a Bad
.
This method will inspect the passed Long
value and if
it is a non-negative Long
, it will return a PosZLong
representing that value, wrapped in a Good
.
Otherwise, the passed Long
value is not non-negative, so this
method will return a result of type B
obtained by passing
the invalid Long
value to the given function f
,
wrapped in a Bad
.
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.
the Long
to inspect, and if non-negative, return
wrapped in a Good(PosZLong)
.
the specified Long
value wrapped
in a Good(PosZLong)
, if it is non-negative, else a Bad(f(value))
.
A predicate method that returns true if a given
Long
value is non-negative.
A predicate method that returns true if a given
Long
value is non-negative.
the Long
to inspect, and if non-negative, return true.
true if the specified Long
is non-negative, else false.
Implicit Ordering instance.
A validation method that produces a Pass
given a valid Long
value, or
an error value of type E
produced by passing the
given invalid Int
value
to the given function f
, wrapped in a Fail
.
A validation method that produces a Pass
given a valid Long
value, or
an error value of type E
produced by passing the
given invalid Int
value
to the given function f
, wrapped in a Fail
.
This method will inspect the passed Long
value and if
it is a non-negative Long
, it will return a Pass
.
Otherwise, the passed Long
value is non-negative, so this
method will return a result of type E
obtained by passing
the invalid Long
value to the given function f
,
wrapped in a Fail
.
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.
the Long
to validate that it is non-negative.
a Pass
if the specified Long
value is non-negative,
else a Fail
containing an error value produced by passing the
specified Long
to the given function f
.
A factory/validation method that produces a PosZLong
, wrapped
in a Right
, given a valid Int
value, or if the
given Int
is invalid, an error value of type L
produced by passing the given invalid Int
value
to the given function f
, wrapped in a Left
.
A factory/validation method that produces a PosZLong
, wrapped
in a Right
, given a valid Int
value, or if the
given Int
is invalid, an error value of type L
produced by passing the given invalid Int
value
to the given function f
, wrapped in a Left
.
This method will inspect the passed Int
value and if
it is a non-negative Int
, it will return a PosZLong
representing that value, wrapped in a Right
.
Otherwise, the passed Int
value is not non-negative, so this
method will return a result of type L
obtained by passing
the invalid Int
value to the given function f
,
wrapped in a Left
.
This factory method differs from the apply
factory method
in that apply
is implemented via a macro that inspects
Int
literals at compile time, whereas this method inspects
Int
values at run time.
the Int
to inspect, and if non-negative, return
wrapped in a Right(PosZLong)
.
the specified Int
value wrapped
in a Right(PosZLong)
, if it is non-negative, else a Left(f(value))
.
A factory/validation method that produces a PosZLong
, wrapped
in a Success
, given a valid Long
value, or if the
given Long
is invalid, an AssertionError
, wrapped
in a Failure
.
A factory/validation method that produces a PosZLong
, wrapped
in a Success
, given a valid Long
value, or if the
given Long
is invalid, an AssertionError
, wrapped
in a Failure
.
This method will inspect the passed Long
value and if
it is a non-negative Long
, it will return a PosZLong
representing that value, wrapped in a Success
.
Otherwise, the passed Long
value is not non-negative, so this
method will return an AssertionError
, wrapped in a Failure
.
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.
the Long
to inspect, and if non-negative, return
wrapped in a Success(PosZLong)
.
the specified Long
value wrapped
in a Success(PosZLong)
, if it is non-negative, else a Failure(AssertionError)
.
Implicit widening conversion from PosZLong
to
Double
.
Implicit widening conversion from PosZLong
to
Double
.
the PosZLong
to widen
the Long
value underlying the specified
PosZLong
, widened to Double
.
Implicit widening conversion from PosZLong
to
Float
.
Implicit widening conversion from PosZLong
to
Float
.
the PosZLong
to widen
the Long
value underlying the specified
PosZLong
, widened to Float
.
Implicit widening conversion from PosZLong
to
Long
.
Implicit widening conversion from PosZLong
to
Long
.
the PosZLong
to widen
the Long
value underlying the specified
PosZLong
.
Implicit widening conversion from PosZLong
to PosZDouble
.
Implicit widening conversion from PosZLong
to PosZDouble
.
the PosZLong
to widen
the Long
value underlying the specified PosZLong
,
widened to Double
and wrapped in a PosZDouble
.
Implicit widening conversion from PosZLong
to PosZFloat
.
Implicit widening conversion from PosZLong
to PosZFloat
.
the PosZLong
to widen
the Long
value underlying the specified PosZLong
,
widened to Float
and wrapped in a PosZFloat
.
The companion object for
PosZLong
that offers factory methods that producePosZLong
s, implicit widening conversions fromPosZLong
to other numeric types, and maximum and minimum constant values forPosZLong
.