note
	description: "[
		Sequences of immutable 8-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_8

create 
	make,
	make_empty,
	make_filled,
	make_from_string,
	make_from_c,
	make_from_c_substring,
	make_from_c_byte_array,
	make_from_cil,
	make_from_separate


create {IMMUTABLE_STRING_8}
	make_from_area_and_bounds

convert
	make_from_string ({READABLE_STRING_8,
		STRING_8}),
	make_from_cil ({SYSTEM_STRING}),
	to_cil: {SYSTEM_STRING},
	as_readable_string_32: {READABLE_STRING_32},
	as_string_32: {STRING_32},
	as_string_8: {STRING_8}

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_8
			-- Character at position i.
			-- Was declared in IMMUTABLE_STRING_8 as synonym of at.

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

	character_32_item (i: INTEGER_32): CHARACTER_32
			-- Character at position i.

	code (i: INTEGER_32): NATURAL_32
			-- Numeric code of character at position i.

	item_code (i: INTEGER_32): INTEGER_32
			-- Numeric code of character at position i.
			-- Use code instead for consistency with Unicode handling.
	
feature -- Basic operations

	plus alias "+" (s: READABLE_STRING_8): 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

	is_empty: BOOLEAN
			-- Is structure empty?

	linear_representation: LINEAR [CHARACTER_8]
			-- Representation as a linear structure
	
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_8

Generated by ISE EiffelStudio