NegInt

object NegInt

The companion object for NegInt that offers factory methods that produce NegInts, implicit widening conversions from NegInt to other numeric types, and maximum and minimum constant values for NegInt.

Companion:
class
Source:
NegInt.scala
class Object
trait Matchable
class Any
NegInt.type

Value members

Concrete methods

def ensuringValid(value: Int): NegInt

A factory/assertion method that produces a NegInt given a valid Int value, or throws AssertionError, if given an invalid Int value.

A factory/assertion method that produces a NegInt given a valid Int value, or throws AssertionError, if given an invalid Int 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 Int value and if it is a negative Int, it will return a NegInt representing that value. Otherwise, the passed Int value is not 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 Int literals at compile time, whereas this method inspects Int 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 an Int is negative.

Value parameters:
value

the Int to inspect, and if negative, return wrapped in a NegInt.

Returns:

the specified Int value wrapped in a NegInt, if it is negative, else throws AssertionError.

Throws:
AssertionError

if the passed value is not negative

Source:
NegInt.scala
def from(value: Int): Option[NegInt]

A factory method that produces an Option[NegInt] given an Int value.

A factory method that produces an Option[NegInt] given an Int value.

This method will inspect the passed Int value and if it is a negative Int, i.e., a negative integer value, it will return a NegInt representing that value, wrapped in a Some. Otherwise, the passed Int value is not negative integer value, 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 Int literals at compile time, whereas from inspects Int values at run time.

Value parameters:
value

the Int to inspect, and if negative, return wrapped in a Some[NegInt].

Returns:

the specified Int value wrapped in a Some[NegInt], if it is negative, else None.

Source:
NegInt.scala
def fromOrElse(value: Int, default: => NegInt): NegInt

A factory method that produces a NegInt given a Int value and a default NegInt.

A factory method that produces a NegInt given a Int value and a default NegInt.

This method will inspect the passed Int value and if it is a positive Int, i.e., a value greater than 0.0, it will return a NegInt representing that value. Otherwise, the passed Int value is 0 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 Int literals at compile time, whereas from inspects Int values at run time.

Value parameters:
default

the NegInt to return if the passed Int value is not positive.

value

the Int to inspect, and if positive, return.

Returns:

the specified Int value wrapped in a NegInt, if it is positive, else the default NegInt value.

Source:
NegInt.scala
def goodOrElse[B](value: Int)(f: Int => B): Or[NegInt, B]

A factory/validation method that produces a NegInt, wrapped in a Good, given a valid Int value, or if the given Int is invalid, an error value of type B produced by passing the given invalid Int value to the given function f, wrapped in a Bad.

A factory/validation method that produces a NegInt, wrapped in a Good, given a valid Int value, or if the given Int is invalid, an error value of type B produced by passing the given invalid Int value to the given function f, wrapped in a Bad.

This method will inspect the passed Int value and if it is a negative Int, it will return a NegInt representing that value, wrapped in a Good. Otherwise, the passed Int value is not negative, so this method will return a result of type B obtained by passing the invalid Int 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 Int literals at compile time, whereas this method inspects Int values at run time.

Value parameters:
value

the Int to inspect, and if negative, return wrapped in a Good(NegInt).

Returns:

the specified Int value wrapped in a Good(NegInt), if it is negative, else a Bad(f(value)).

Source:
NegInt.scala
def isValid(value: Int): Boolean

A predicate method that returns true if a given Int value is negative.

A predicate method that returns true if a given Int value is negative.

Value parameters:
value

the Int to inspect, and if negative, return true.

Returns:

true if the specified Int is negative, else false.

Source:
NegInt.scala
def passOrElse[E](value: Int)(f: Int => E): Validation[E]

A validation method that produces a Pass given a valid Int 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 Int 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 Int value and if it is a negative Int, it will return a Pass. Otherwise, the passed Int value is negative, so this method will return a result of type E obtained by passing the invalid Int 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 Int literals at compile time, whereas this method inspects Int values at run time.

Value parameters:
value

the Int to validate that it is negative.

Returns:

a Pass if the specified Int value is negative, else a Fail containing an error value produced by passing the specified Int to the given function f.

Source:
NegInt.scala
def rightOrElse[L](value: Int)(f: Int => L): Either[L, NegInt]

A factory/validation method that produces a NegInt, 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 NegInt, 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 negative Int, it will return a NegInt representing that value, wrapped in a Right. Otherwise, the passed Int value is not 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.

Value parameters:
value

the Int to inspect, and if negative, return wrapped in a Right(NegInt).

Returns:

the specified Int value wrapped in a Right(NegInt), if it is negative, else a Left(f(value)).

Source:
NegInt.scala
def tryingValid(value: Int): Try[NegInt]

A factory/validation method that produces a NegInt, wrapped in a Success, given a valid Int value, or if the given Int is invalid, an AssertionError, wrapped in a Failure.

A factory/validation method that produces a NegInt, wrapped in a Success, given a valid Int value, or if the given Int is invalid, an AssertionError, wrapped in a Failure.

This method will inspect the passed Int value and if it is a negative Int, it will return a NegInt representing that value, wrapped in a Success. Otherwise, the passed Int value is not 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 Int literals at compile time, whereas this method inspects Int values at run time.

Value parameters:
value

the Int to inspect, and if negative, return wrapped in a Success(NegInt).

Returns:

the specified Int value wrapped in a Success(NegInt), if it is negative, else a Failure(AssertionError).

Source:
NegInt.scala

Concrete fields

final val MaxValue: NegInt

The largest value representable as a negative Int, which is NegInt(-1).

The largest value representable as a negative Int, which is NegInt(-1).

Source:
NegInt.scala
final val MinValue: NegInt

The smallest value representable as a negative Int, which is NegInt(-2147483648).

The smallest value representable as a negative Int, which is NegInt(-2147483648).

Source:
NegInt.scala

Implicits

Implicits

implicit inline def apply(value: => Int): NegInt

A factory method, implemented via a macro, that produces a NegInt if passed a valid Int literal, otherwise a compile time error.

A factory method, implemented via a macro, that produces a NegInt if passed a valid Int literal, otherwise a compile time error.

The macro that implements this method will inspect the specified Int expression at compile time. If the expression is a positive Int literal, i.e., with a value greater than 0, it will return a NegInt representing that value. Otherwise, the passed Int 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 Int literals at compile time, whereas from inspects Int values at run time.

Value parameters:
value

the Int literal expression to inspect at compile time, and if positive, to return wrapped in a NegInt at run time.

Returns:

the specified, valid Int literal value wrapped in a NegInt. (If the specified expression is not a valid Int literal, the invocation of this method will not compile.)

Source:
NegInt.scala
implicit val ordering: Ordering[NegInt]

Implicit Ordering instance.

Implicit Ordering instance.

Source:
NegInt.scala
implicit def widenToDouble(pos: NegInt): Double

Implicit widening conversion from NegInt to Double.

Implicit widening conversion from NegInt to Double.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Double.

Source:
NegInt.scala
implicit def widenToFloat(pos: NegInt): Float

Implicit widening conversion from NegInt to Float.

Implicit widening conversion from NegInt to Float.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Float.

Source:
NegInt.scala
implicit def widenToInt(pos: NegInt): Int

Implicit widening conversion from NegInt to Int.

Implicit widening conversion from NegInt to Int.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt.

Source:
NegInt.scala
implicit def widenToLong(pos: NegInt): Long

Implicit widening conversion from NegInt to Long.

Implicit widening conversion from NegInt to Long.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Long.

Source:
NegInt.scala
implicit def widenToNegDouble(pos: NegInt): NegDouble

Implicit widening conversion from NegInt to NegDouble.

Implicit widening conversion from NegInt to NegDouble.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Double and wrapped in a NegDouble.

Source:
NegInt.scala
implicit def widenToNegFloat(pos: NegInt): NegFloat

Implicit widening conversion from NegInt to NegFloat.

Implicit widening conversion from NegInt to NegFloat.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Float and wrapped in a NegFloat.

Source:
NegInt.scala
implicit def widenToNegLong(pos: NegInt): NegLong

Implicit widening conversion from NegInt to NegLong.

Implicit widening conversion from NegInt to NegLong.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Long and wrapped in a NegLong.

Source:
NegInt.scala
implicit def widenToNegZDouble(pos: NegInt): NegZDouble

Implicit widening conversion from NegInt to NegZDouble.

Implicit widening conversion from NegInt to NegZDouble.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Double and wrapped in a NegZDouble.

Source:
NegInt.scala
implicit def widenToNegZFloat(pos: NegInt): NegZFloat

Implicit widening conversion from NegInt to NegZFloat.

Implicit widening conversion from NegInt to NegZFloat.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Float and wrapped in a NegZFloat.

Source:
NegInt.scala
implicit def widenToNegZInt(pos: NegInt): NegZInt

Implicit widening conversion from NegInt to NegZInt.

Implicit widening conversion from NegInt to NegZInt.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Int and wrapped in a NegZInt.

Source:
NegInt.scala
implicit def widenToNegZLong(pos: NegInt): NegZLong

Implicit widening conversion from NegInt to NegZLong.

Implicit widening conversion from NegInt to NegZLong.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Long and wrapped in a NegZLong.

Source:
NegInt.scala

Implicit widening conversion from NegInt to NonZeroDouble.

Implicit widening conversion from NegInt to NonZeroDouble.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Double and wrapped in a NonZeroDouble.

Source:
NegInt.scala

Implicit widening conversion from NegInt to NonZeroFloat.

Implicit widening conversion from NegInt to NonZeroFloat.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Float and wrapped in a NonZeroFloat.

Source:
NegInt.scala
implicit def widenToNonZeroInt(pos: NegInt): NonZeroInt

Implicit widening conversion from NegInt to NonZeroInt.

Implicit widening conversion from NegInt to NonZeroInt.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Int and wrapped in a NonZeroInt.

Source:
NegInt.scala

Implicit widening conversion from NegInt to NonZeroLong.

Implicit widening conversion from NegInt to NonZeroLong.

Value parameters:
pos

the NegInt to widen

Returns:

the Int value underlying the specified NegInt, widened to Long and wrapped in a NonZeroLong.

Source:
NegInt.scala