class EL_COMMA_SEPARATED_WORDS
A list of comma separated words for use with EL_COMMA_SEPARATED_WORDS_LIST
note
	description: "A list of comma separated words for use with ${EL_COMMA_SEPARATED_WORDS_LIST}"
	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:26 GMT (Saturday 20th January 2024)"
	revision: "9"
		
		class
	EL_COMMA_SEPARATED_WORDS
inherit
	EL_REFLECTIVELY_SETTABLE_STORABLE
		rename
			foreign_naming as eiffel_naming,
			read_version as read_default_version
		export
			{NONE} all
		end
	EL_SETTABLE_FROM_ZSTRING
		export
			{NONE} all
		end
create
	make_default, make
convert
	make ({EL_ZSTRING_LIST})
feature {NONE} -- Initialization
	make (a_word_list: EL_ZSTRING_LIST)
		do
			make_default
			words.share (a_word_list.joined (','))
		end
feature -- Access
	words: ZSTRING
		-- comma separated list of words
	word_list: EL_ZSTRING_LIST
		do
			create Result.make_split (words, ',')
		end
feature -- Measurement
	byte_count (reader: EL_MEMORY_READER_WRITER): INTEGER
		-- Estimated byte count
		do
			Result := reader.size_of_string (words)
			if attached {EL_ENCRYPTABLE} reader as encryptable then
				Result := encryptable.encrypter.encrypted_size (Result)
			end
		end
feature -- Element change
	set_words (a_words: ZSTRING)
		do
			words.share (a_words)
		end
feature {NONE} -- Constants
	Field_hash: NATURAL = 2464806956
end