Section Header

    + name := SAFE_EQUAL[E];

    - comment :="The goal of this class is to share the definition of \ \feature `safe_equal'. Feature `safe_equal' compares \ \two arguments of type E, by calling `==' only \ \and only if both arguments have the `same_type'..";

Section Inherit

    - parent:OBJECT :=

Section Public

    - safe_equal (e1, e2:E) :BOOLEAN <-
        In order to avoid run-time type errors, feature `safe_equal' call
        `==' only when `e1' and `e2' have exactly the same `generating_type'.
        Furthermore, this feature avoid argument passing from some
        expanded type to the corresponding reference type (no automatic
        allocation of some reference type during the comparison).