class EL_CODE_16_REPRESENTATION
2 byte implementation of EL_CODE_REPRESENTATION
note
	description: "2 byte implementation of ${EL_CODE_REPRESENTATION}"
	author: "Finnian Reilly"
	copyright: "Copyright (c) 2001-2022 Finnian Reilly"
	contact: "finnian at eiffel hyphen loop dot com"
	license: "MIT license (See: en.wikipedia.org/wiki/MIT_License)"
	date: "2024-01-20 19:18:24 GMT (Saturday 20th January 2024)"
	revision: "3"
		
		class
	EL_CODE_16_REPRESENTATION
inherit
	EL_CODE_REPRESENTATION [NATURAL_16]
create
	make
feature -- Basic operations
	append_to_string (n: NATURAL_16; str: ZSTRING)
		do
			str.append_natural_16 (n)
		end
feature -- Measurement
	byte_count: INTEGER
		do
			Result := {PLATFORM}.Natural_16_bytes
		end
feature -- Conversion
	to_value (general: READABLE_STRING_GENERAL): NATURAL_16
		do
			if attached Buffer_8.to_same (general) as str then
				($Result).memory_copy (str.area.base_address, byte_count.min (str.count))
			end
		end
feature {NONE} -- Implementation
	memory_copy (area: SPECIAL [CHARACTER]; a_value: NATURAL_16)
		do
			area.base_address.memory_copy ($a_value, byte_count)
		end
end