class
	MANAGED_POINTER

General
	cluster: elks
	description: 
		"To easily manage allocation and release of allocated C memory, and
		to perform insertion of basic elements. Byte order is by default
		platform specific.
		Although memory allocation routines do not accept a zero sized pointer
		MANAGED_POINTER does by allocating in fact a 1 byte sized pointer for
		this particular case."
	create: make, make_from_array, make_from_pointer, share_from_pointer, own_from_pointer

Ancestors
	DISPOSABLE*
	PLATFORM

Queries
	boolean_bits: INTEGER_32
	boolean_bytes: INTEGER_32
	Character_32_bits: INTEGER_32
	Character_32_bytes: INTEGER_32
	Character_8_bits: INTEGER_32
	Character_8_bytes: INTEGER_32
	count: INTEGER_32
	Integer_16_bits: INTEGER_32
	Integer_16_bytes: INTEGER_32
	Integer_32_bits: INTEGER_32
	Integer_32_bytes: INTEGER_32
	Integer_64_bits: INTEGER_32
	Integer_64_bytes: INTEGER_32
	Integer_8_bits: INTEGER_32
	Integer_8_bytes: INTEGER_32
	is_64_bits: BOOLEAN
	is_dotnet: BOOLEAN
	is_equal (other: [like Current] MANAGED_POINTER): BOOLEAN
	Is_little_endian: BOOLEAN
	is_mac: BOOLEAN
	is_scoop_capable: BOOLEAN
	is_shared: BOOLEAN
	is_thread_capable: BOOLEAN
	is_unix: BOOLEAN
	is_vms: BOOLEAN
	is_vxworks: BOOLEAN
	is_windows: BOOLEAN
	item: POINTER
	Natural_16_bits: INTEGER_32
	Natural_16_bytes: INTEGER_32
	Natural_32_bits: INTEGER_32
	Natural_32_bytes: INTEGER_32
	Natural_64_bits: INTEGER_32
	Natural_64_bytes: INTEGER_32
	Natural_8_bits: INTEGER_32
	Natural_8_bytes: INTEGER_32
	pointer_bits: INTEGER_32
	pointer_bytes: INTEGER_32
	read_array (pos, a_count: INTEGER_32): ARRAY [NATURAL_8]
	read_boolean (pos: INTEGER_32): BOOLEAN
	read_character (pos: INTEGER_32): CHARACTER_8
	read_integer_16 (pos: INTEGER_32): INTEGER_16
	read_integer_16_be (pos: INTEGER_32): INTEGER_16
	read_integer_16_le (pos: INTEGER_32): INTEGER_16
	read_integer_32 (pos: INTEGER_32): INTEGER_32
	read_integer_32_be (pos: INTEGER_32): INTEGER_32
	read_integer_32_le (pos: INTEGER_32): INTEGER_32
	read_integer_64 (pos: INTEGER_32): INTEGER_64
	read_integer_64_be (pos: INTEGER_32): INTEGER_64
	read_integer_64_le (pos: INTEGER_32): INTEGER_64
	read_integer_8 (pos: INTEGER_32): INTEGER_8
	read_integer_8_be (pos: INTEGER_32): INTEGER_8
	read_integer_8_le (pos: INTEGER_32): INTEGER_8
	read_natural_16 (pos: INTEGER_32): NATURAL_16
	read_natural_16_be (pos: INTEGER_32): NATURAL_16
	read_natural_16_le (pos: INTEGER_32): NATURAL_16
	read_natural_32 (pos: INTEGER_32): NATURAL_32
	read_natural_32_be (pos: INTEGER_32): NATURAL_32
	read_natural_32_le (pos: INTEGER_32): NATURAL_32
	read_natural_64 (pos: INTEGER_32): NATURAL_64
	read_natural_64_be (pos: INTEGER_32): NATURAL_64
	read_natural_64_le (pos: INTEGER_32): NATURAL_64
	read_natural_8 (pos: INTEGER_32): NATURAL_8
	read_natural_8_be (pos: INTEGER_32): NATURAL_8
	read_natural_8_le (pos: INTEGER_32): NATURAL_8
	read_pointer (pos: INTEGER_32): POINTER
	read_real_32 (pos: INTEGER_32): REAL_32
	read_real_32_be (pos: INTEGER_32): REAL_32
	read_real_32_le (pos: INTEGER_32): REAL_32
	read_real_64 (pos: INTEGER_32): REAL_64
	read_real_64_be (pos: INTEGER_32): REAL_64
	read_real_64_le (pos: INTEGER_32): REAL_64
	read_special_character_8 (source_index, n: INTEGER_32): SPECIAL [CHARACTER_8]
	read_special_natural_8 (source_index, n: INTEGER_32): SPECIAL [NATURAL_8]
	Real_32_bits: INTEGER_32
	Real_32_bytes: INTEGER_32
	Real_64_bits: INTEGER_32
	Real_64_bytes: INTEGER_32

Commands
	append (other: [like Current] MANAGED_POINTER)
	copy (other: [like Current] MANAGED_POINTER)
	dispose
	put_array (data: ARRAY [NATURAL_8]; pos: INTEGER_32)
	put_boolean (b: BOOLEAN; pos: INTEGER_32)
	put_character (c: CHARACTER_8; pos: INTEGER_32)
	put_integer_16 (i: INTEGER_16; pos: INTEGER_32)
	put_integer_16_be (i: INTEGER_16; pos: INTEGER_32)
	put_integer_16_le (i: INTEGER_16; pos: INTEGER_32)
	put_integer_32 (i, pos: INTEGER_32)
	put_integer_32_be (i, pos: INTEGER_32)
	put_integer_32_le (i, pos: INTEGER_32)
	put_integer_64 (i: INTEGER_64; pos: INTEGER_32)
	put_integer_64_be (i: INTEGER_64; pos: INTEGER_32)
	put_integer_64_le (i: INTEGER_64; pos: INTEGER_32)
	put_integer_8 (i: INTEGER_8; pos: INTEGER_32)
	put_integer_8_be (i: INTEGER_8; pos: INTEGER_32)
	put_integer_8_le (i: INTEGER_8; pos: INTEGER_32)
	put_natural_16 (i: NATURAL_16; pos: INTEGER_32)
	put_natural_16_be (i: NATURAL_16; pos: INTEGER_32)
	put_natural_16_le (i: NATURAL_16; pos: INTEGER_32)
	put_natural_32 (i: NATURAL_32; pos: INTEGER_32)
	put_natural_32_be (i: NATURAL_32; pos: INTEGER_32)
	put_natural_32_le (i: NATURAL_32; pos: INTEGER_32)
	put_natural_64 (i: NATURAL_64; pos: INTEGER_32)
	put_natural_64_be (i: NATURAL_64; pos: INTEGER_32)
	put_natural_64_le (i: NATURAL_64; pos: INTEGER_32)
	put_natural_8 (i: NATURAL_8; pos: INTEGER_32)
	put_natural_8_be (i: NATURAL_8; pos: INTEGER_32)
	put_natural_8_le (i: NATURAL_8; pos: INTEGER_32)
	put_pointer (p: POINTER; pos: INTEGER_32)
	put_real_32 (r: REAL_32; pos: INTEGER_32)
	put_real_32_be (v: REAL_32; pos: INTEGER_32)
	put_real_32_le (v: REAL_32; pos: INTEGER_32)
	put_real_64 (d: REAL_64; pos: INTEGER_32)
	put_real_64_be (v: REAL_64; pos: INTEGER_32)
	put_real_64_le (v: REAL_64; pos: INTEGER_32)
	put_special_character_8 (a_spec: SPECIAL [CHARACTER_8]; source_index, destination_index, n: INTEGER_32)
	put_special_natural_8 (a_spec: SPECIAL [NATURAL_8]; source_index, destination_index, n: INTEGER_32)
	read_into_special_character_8 (a_spec: SPECIAL [CHARACTER_8]; source_index, destination_index, n: INTEGER_32)
	read_into_special_natural_8 (a_spec: SPECIAL [NATURAL_8]; source_index, destination_index, n: INTEGER_32)
	resize (n: INTEGER_32)
	set_from_pointer (a_ptr: POINTER; n: INTEGER_32)

Constraints
	item not null
	valid count


Generated by ISE EiffelStudio