Object

fm.common

ViewWiseBalancedEquality

Related Doc: package common

Permalink

object ViewWiseBalancedEquality

By importing ViewWiseBalancedEquality._ you get type-safe and view-wise balanced equality:

import name.heikoseeberger.demoequality.ViewWiseBalancedEquality._

123 === 666 // false
"a" === "a" // true
123 === "a" // won't compile!

This equality is balanced with respect to implicit conversions, hence === works (compiles) for any two arguments on the left and right, whose types are in a implicit conversion relationship (which includes a subtype relationship), i.e. one can be viewed as the other:

Seq(1, 2, 3) === List(1, 2, 3)
List(1, 2, 3) === Seq(1, 2, 3)
1L === 1
1 === 1L
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ViewWiseBalancedEquality
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. implicit final class Equal[L] extends AnyVal

    Permalink

    Extends any type with a type-safe and balanced === operator.

  2. sealed trait Equality[L, R] extends AnyRef

    Permalink

    Type-class representing equality of two arguments with arbitrary respective types.

    Type-class representing equality of two arguments with arbitrary respective types.

    Annotations
    @implicitNotFound( ... )
  3. trait LowPriorityEqualityImplicits extends AnyRef

    Permalink

    Mixed into Equality to disambiguate the L =:= R case.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object Equality extends LowPriorityEqualityImplicits

    Permalink

    Provides type-class instances based on natural equality for any two types in a L => R or R => L implicit conversion relationship.

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  17. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped