note
	description: "[
		Sequences of immutable 32-bit characters, accessible through integer indices
		in a contiguous range.
	]"
	library: "Free implementation of ELKS library"
	status: "See notice at end of class."
	legal: "See notice at end of class."
	date: "$Date: 2020-05-12 20:58:01 +0000 (Tue, 12 May 2020) $"
	revision: "$Revision: 104181 $"

frozen class interface
	IMMUTABLE_STRING_32

create 
	make,
	make_empty,
	make_filled,
	make_from_string,
	make_from_string_general,
	make_from_string_8,
	make_from_string_32,
	make_from_c,
	make_from_c_byte_array,
	make_from_cil,
	make_from_separate


create {IMMUTABLE_STRING_32}
	make_from_area_and_bounds

convert
	to_cil: {SYSTEM_STRING},
	make_from_cil ({SYSTEM_STRING}),
	make_from_string_8 ({READABLE_STRING_8,
		IMMUTABLE_STRING_8,
		STRING_8}),
	make_from_string_32 ({READABLE_STRING_32,
		STRING_32}),
	make_from_string_general ({READABLE_STRING_GENERAL,
		STRING_GENERAL,
		IMMUTABLE_STRING_GENERAL}),
	as_string_32: {STRING_32}

feature -- Duplication

	copy (other: like Current)
			-- Reinitialize by copying the characters of other.
			-- (This is also used by twin.)
		ensure then
			new_result_count: count = other.count
	
feature -- Access

	item alias "[]" (i: INTEGER_32): CHARACTER_32
			-- Character at position i
			-- Was declared in IMMUTABLE_STRING_32 as synonym of at.

	at alias "@" (i: INTEGER_32): CHARACTER_32
			-- Character at position i
			-- Was declared in IMMUTABLE_STRING_32 as synonym of item.

	code (i: INTEGER_32): NATURAL_32
			-- Numeric code of character at position i
	
feature -- Basic operations

	plus alias "+" (s: READABLE_STRING_32): like Current
			-- Concatenation with s.

	plus_general (s: READABLE_STRING_GENERAL): like Current
			-- Concatenation of the current string with s.

	mirrored: like Current
			-- Mirror image of string;
			-- Result for "Hello world" is "dlrow olleH".

	as_lower: like Current
			-- New object with all letters in lower case.

	as_upper: like Current
			-- New object with all letters in upper case

	substring (start_index, end_index: INTEGER_32): like Current
			-- Copy of substring containing all characters at indices
			-- between start_index and end_index

	shared_substring (start_index, end_index: INTEGER_32): like Current

	linear_representation: LINEAR [CHARACTER_32]
			-- Representation as a linear structure

	is_empty: BOOLEAN
			-- Is structure empty?
	
feature -- Transformation

	correct_mismatch
			-- Attempt to correct object mismatch during retrieve using Mismatch_information.
	
note
	copyright: "Copyright (c) 1984-2020, Eiffel Software and others"
	license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
	source: "[
		Eiffel Software
		5949 Hollister Ave., Goleta, CA 93117 USA
		Telephone 805-685-1006, Fax 805-685-6869
		Website http://www.eiffel.com
		Customer support http://support.eiffel.com
	]"

end -- class IMMUTABLE_STRING_32

Generated by ISE EiffelStudio