class EL_IMMUTABLE_STRING_SET
String set initialized with shared substrings of a single line manifest string
note
description: "String set initialized with shared substrings of a single line manifest string"
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: "2025-02-19 14:52:54 GMT (Wednesday 19th February 2025)"
revision: "1"
deferred class
EL_IMMUTABLE_STRING_SET [GENERAL -> STRING_GENERAL, IMMUTABLE -> IMMUTABLE_STRING_GENERAL]
inherit
EL_HASH_SET [IMMUTABLE]
rename
has as has_immutable,
has_key as has_immutable_key,
make as make_sized
end
feature {NONE} -- Initialization
make (a_manifest_lines: GENERAL)
do
manifest_lines := new_shared (a_manifest_lines)
if attached new_split_list as list then
list.fill (manifest_lines, '%N', {EL_SIDE}.Right)
make_equal (list.count)
from list.start until list.after loop
put (list.item)
list.forth
end
end
end
feature {NONE} -- Deferred
new_shared (a_manifest: GENERAL): IMMUTABLE
deferred
end
new_split_list: EL_SPLIT_READABLE_STRING_LIST [IMMUTABLE]
deferred
end
feature {STRING_HANDLER} -- Internal attributes
manifest_lines: IMMUTABLE
end