class EL_VERSION_REPRESENTATION
A reflected NATURAL_32 representing a EL_VERSION_ARRAY
note
	description: "A reflected ${NATURAL_32} representing a ${EL_VERSION_ARRAY}"
	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: "9"
		
		class
	EL_VERSION_REPRESENTATION
inherit
	EL_STRING_FIELD_REPRESENTATION [NATURAL_32, EL_VERSION_ARRAY]
		rename
			item as version
		end
create
	make
feature {NONE} -- Initialization
	make (a_version: like version)
		do
			version := a_version
			digit_count := a_version.digit_count
			part_count := a_version.count
		end
feature -- Access
	digit_count: INTEGER
		-- maximum number of decimal digits per part item
	part_count: INTEGER
		-- number of version parts
	to_string (compact_version: NATURAL_32): STRING
		do
			version.set_from_compact (compact_version)
			Result := version.out
		end
feature -- Basic operations
	append_comment (field_definition: STRING)
		-- append comment to meta data `field_definition'
		do
			field_definition.append ((Comment #$ [version.generator, part_count, digit_count]).to_latin_1)
		end
	to_value (str: READABLE_STRING_GENERAL): NATURAL_32
		do
			version.make_from_string (digit_count, Buffer_8.copied_general (str))
			Result := version.compact
		end
feature {NONE} -- Constants
	Comment: ZSTRING
		once
			Result := " -- %S: [%S, %S]"
		end
end