note
	description: "Unicode characters"
	library: "Gobo Eiffel Kernel Library"
	copyright: "Copyright (c) 2001, Eric Bezault and others"
	license: "MIT License"
	date: "$Date: 2016-05-06 19:15:38 +0000 (Fri, 06 May 2016) $"
	revision: "$Revision: 98678 $"

class interface
	UC_CHARACTER

create 
	make_from_character,
	make_from_code

feature -- Access

	code: INTEGER_32
			-- Code of unicode character

	hash_code: INTEGER_32
			-- Hash code value
	
feature -- Status report

	is_ascii: BOOLEAN
			-- Is current character an ASCII character?
		ensure
			definition: Result = Unicode.valid_ascii_code (code)
	
feature -- Comparison

	is_less alias "<" (other: like Current): BOOLEAN
			-- Is current object less than other?
	
feature -- Conversion

	as_lower: like Current
			-- Lowercase value of current character
			-- (Create a new object at each call.)
			-- Was declared in UC_CHARACTER as synonym of to_lower.
		ensure
			to_lower_not_void: Result /= Void

	to_lower: like Current
			-- Lowercase value of current character
			-- (Create a new object at each call.)
			-- Was declared in UC_CHARACTER as synonym of as_lower.
		ensure
			to_lower_not_void: Result /= Void

	as_upper: like Current
			-- Uppercase value of current character
			-- (Create a new object at each call.)
			-- Was declared in UC_CHARACTER as synonym of to_upper.
		ensure
			to_upper_not_void: Result /= Void

	to_upper: like Current
			-- Uppercase value of current character
			-- (Create a new object at each call.)
			-- Was declared in UC_CHARACTER as synonym of as_upper.
		ensure
			to_upper_not_void: Result /= Void

	to_character: CHARACTER_8
			-- Character with code code
		require
			valid_code: code <= Platform.Maximum_character_code
		ensure
			code_set: Result.code = code
	
feature -- Output

	out: STRING_8
			-- New STRING containing terse printable representation
			-- of current character; Non-ascii characters are represented
			-- with the %/code/ convention.
	
invariant
	valid_code: Unicode.valid_code (code)

end -- class UC_CHARACTER

Generated by ISE EiffelStudio