class NATIVE_ARRAY_INTERNALS [E_]

Features exported to INTERNALS

WARNING: This interface is tentative and may change to a large extent from SmartEiffel 2.2 to SmartEiffel 2.3.

NATIVE_ARRAY_INTERNALS play the same role as TYPED_INTERNALS, except they describe NATIVE_ARRAYs.

Direct parents

conformant parents

TYPED_INTERNALS

Summary

creation features

exported features

Getting information about the described object's type

Getting information about the described object's type

Details

type_is_native_array: BOOLEAN

Is the type described by Current a NATIVE_ARRAY?

ensure

  • Result = type_generator.is_equal(once "NATIVE_ARRAY")

type_attribute_is_expanded (i: INTEGER): BOOLEAN

Is the type of the ith attribute expanded?

require

    type_item_is_expanded: BOOLEAN
    type_can_be_assigned_to_attribute (other: INTERNALS, i: INTEGER): BOOLEAN

    Can the object attached to other be assigned to the ith attribute?

    require

      ensure

      • other = Void implies Result = not type_attribute_is_expanded(i)

      type_can_be_assigned_to_item (other: INTERNALS): BOOLEAN
      type_generator: STRING

      Name of the base class of the type described by Current. For instance, if Current is a TYPED_INTERNALS[ARRAY[INTEGER]], type_generator is "ARRAY".

      type_generating_type: STRING

      Name of the type described by Current. For instance, if Current is a TYPED_INTERNALS[ARRAY[INTEGER]], type_generating_type is "ARRAY[INTEGER]".

      type_is_expanded: BOOLEAN

      Is the type described by Current expanded?

      is_equal (other: NATIVE_ARRAY_INTERNALS [E_]): BOOLEAN

      Is other attached to an object considered equal to current object ?

      require

      • other /= Void

      ensure

      • commutative: generating_type = other.generating_type implies Result = other.is_equal(Current)

      Class invariant