BoolAlgebra

sealed abstract class BoolAlgebra[+A] extends Product with Serializable

A BoolAlgebra[A] is a description of logical operations on values of type A.

Companion:
object
trait Product
trait Equals
class Object
trait Matchable
class Any
class And[A]
class Not[A]
class Or[A]
class Value[A]

Value members

Concrete methods

final def &&[A1 >: A](that: BoolAlgebra[A1]): BoolAlgebra[A1]

Returns a new result that is the logical conjunction of this result and the specified result.

Returns a new result that is the logical conjunction of this result and the specified result.

final def <==>[A1 >: A](that: BoolAlgebra[A1]): BoolAlgebra[A1]

Returns a new result that is the logical double implication of this result and the specified result.

Returns a new result that is the logical double implication of this result and the specified result.

final def ==>[A1 >: A](that: BoolAlgebra[A1]): BoolAlgebra[A1]

Returns a new result that is the logical implication of this result and the specified result.

Returns a new result that is the logical implication of this result and the specified result.

final def as[B](b: B): BoolAlgebra[B]

Returns a new result, with all values mapped to the specified constant.

Returns a new result, with all values mapped to the specified constant.

final def both[A1 >: A](that: BoolAlgebra[A1]): BoolAlgebra[A1]

A named alias for &&.

A named alias for &&.

final def either[A1 >: A](that: BoolAlgebra[A1]): BoolAlgebra[A1]

A named alias for ||.

A named alias for ||.

final def failures: Option[BoolAlgebra[A]]

If this result is a success returns None. If it is a failure returns a new result containing all failures that are relevant to this result being a failure.

If this result is a success returns None. If it is a failure returns a new result containing all failures that are relevant to this result being a failure.

final def flatMap[B](f: A => BoolAlgebra[B]): BoolAlgebra[B]

Returns a new result, with all values mapped to new results using the specified function.

Returns a new result, with all values mapped to new results using the specified function.

final def flatMapM[R, E, B](f: A => ZIO[R, E, BoolAlgebra[B]]): ZIO[R, E, BoolAlgebra[B]]

Returns a new result, with all values mapped to new results using the specified effectual function.

Returns a new result, with all values mapped to new results using the specified effectual function.

final def fold[B](caseValue: A => B)(caseAnd: (B, B) => B, caseOr: (B, B) => B, caseNot: B => B): B

Folds over the result bottom up, first converting values to B values, and then combining the B values, using the specified functions.

Folds over the result bottom up, first converting values to B values, and then combining the B values, using the specified functions.

final override def hashCode: Int

Calculate a hash code value for the object.

Calculate a hash code value for the object.

The default hashing algorithm is platform dependent.

Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

Returns:

the hash code value for this object.

Definition Classes
Any
final def iff[A1 >: A](that: BoolAlgebra[A1]): BoolAlgebra[A1]

A named alias for "<==>".

A named alias for "<==>".

final def implies[A1 >: A](that: BoolAlgebra[A1]): BoolAlgebra[A1]

A named alias for "==>".

A named alias for "==>".

final def isFailure: Boolean

Determines whether the result is a failure, where values represent success and are combined using logical conjunction, disjunction, and negation.

Determines whether the result is a failure, where values represent success and are combined using logical conjunction, disjunction, and negation.

final def isSuccess: Boolean

Determines whether the result is a success, where values represent success and are combined using logical conjunction, disjunction, and negation.

Determines whether the result is a success, where values represent success and are combined using logical conjunction, disjunction, and negation.

final def map[B](f: A => B): BoolAlgebra[B]

Returns a new result, with all values mapped by the specified function.

Returns a new result, with all values mapped by the specified function.

final def mapM[R, E, B](f: A => ZIO[R, E, B]): ZIO[R, E, BoolAlgebra[B]]

Returns a new result, with all values mapped by the specified effectual function.

Returns a new result, with all values mapped by the specified effectual function.

final def negate: BoolAlgebra[A]

Negates this result, converting all successes into failures and failures into successes.

Negates this result, converting all successes into failures and failures into successes.

final def unary_!: BoolAlgebra[A]

Returns a new result that is the logical negation of this result.

Returns a new result that is the logical negation of this result.

final def ||[A1 >: A](that: BoolAlgebra[A1]): BoolAlgebra[A1]

Returns a new result that is the logical disjunction of this result and the specified result.

Returns a new result that is the logical disjunction of this result and the specified result.

Inherited methods

def canEqual(that: Any): Boolean
Inherited from:
Equals
def productArity: Int
Inherited from:
Product
def productElement(n: Int): Any
Inherited from:
Product
def productElementName(n: Int): String
Inherited from:
Product
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product
def productPrefix: String
Inherited from:
Product