expanded class POINTER

Features exported to ANY

References to objects meant to be exchanged with non-Eiffel software.

Note : An Eiffel POINTER is mapped as C type "Void *" or as Java "java.lang.Object" type.

Direct parents

conformant parents

HASHABLE

non-conformant parents

STRING_HANDLER

Summary

exported features

Details

is_null: BOOLEAN

Is the external POINTER a NULL pointer ?

is_not_null: BOOLEAN

Is the external POINTER a non-NULL pointer ?

to_string: STRING
append_in (buffer: STRING)

Append on str a viewable version of Current.

out_in_tagged_out_memory

Append terse printable represention of current object in tagged_out_memory.

ensure

  • not_cleared: tagged_out_memory.count >= old tagged_out_memory.count
  • append_only: (old tagged_out_memory.twin).is_equal(tagged_out_memory.substring(1, old tagged_out_memory.count))

fill_tagged_out_memory

Append a viewable information in tagged_out_memory in order to affect the behavior of out, tagged_out, etc.

hash_code: INTEGER

The hash-code value of Current.

ensure

  • good_hash_value: Result >= 0

+ (offset: INTEGER): POINTER

Current moved by an offset of offset bytes.

to_any: ANY

Dangerous forced conversion. This function assume that Current is really a reference to some Eiffel allocated object.

deferred is_equal (other: POINTER): BOOLEAN

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

require

  • other /= Void

ensure

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