Classes
	ABSOLUTE*
			-- Absolute temporal values

	ABSOLUTE*
			-- Absolute temporal values

	ABSTRACT_SPECIAL*
			-- Ancestor of SPECIAL to perform queries on SPECIAL without knowing its actual generic type.

	ABSTRACT_SPECIAL*
			-- Ancestor of SPECIAL to perform queries on SPECIAL without knowing its actual generic type.

	ACCOUNT
			-- Summary description for ACCOUNT.

	ACTION_SEQUENCE [EVENT_DATA -> detachable TUPLE create default_create end]
			-- A sequence of actions to be performed on call.

	ACTION_SEQUENCE [EVENT_DATA -> detachable TUPLE create default_create end]
			-- A sequence of actions to be performed on call.

	ACTIVE* [G]
			-- Active data structures, which at every stage have
			-- a possibly undefined current item.
			-- Basic access and modification operations apply to the current item.

	ACTIVE* [G]
			-- Active data structures, which at every stage have
			-- a possibly undefined current item.
			-- Basic access and modification operations apply to the current item.

	ACTIVE_INTEGER_INTERVAL
			-- Contiguous integer interval that calls an action sequence
			-- when it changes.

	ACTIVE_INTEGER_INTERVAL
			-- Contiguous integer interval that calls an action sequence
			-- when it changes.

	ACTIVE_LIST [G]
			-- Sequential, one-way linked lists that call an action
			-- sequence when an item is removed or added.

	ACTIVE_LIST [G]
			-- Sequential, one-way linked lists that call an action
			-- sequence when an item is removed or added.

	ADDRESS_APPLIED_TO_MELTED_FEATURE
			-- Exception raised when $ is applied to melted feature

	ADDRESS_APPLIED_TO_MELTED_FEATURE
			-- Exception raised when $ is applied to melted feature

	AGENT_TRACING_HANDLER
			-- Abstract class used by TRACE_MANAGER to dispatch tracing events to user using STRING data via an agent.

	AGENT_TRACING_HANDLER
			-- Abstract class used by TRACE_MANAGER to dispatch tracing events to user using STRING data via an agent.

	ANY
			-- Project-wide universal properties.
			-- This class is an ancestor to all developer-written classes.
			-- ANY may be customized for individual projects or teams.

	ANY
			-- Project-wide universal properties.
			-- This class is an ancestor to all developer-written classes.
			-- ANY may be customized for individual projects or teams.

	ARGUMENTS
			-- Access to command-line arguments. This class 
			-- may be used as ancestor by classes needing its facilities.

	ARGUMENTS
			-- Access to command-line arguments. This class 
			-- may be used as ancestor by classes needing its facilities.

	ARGUMENTS_32
			-- Access to command-line arguments. This class 
			-- may be used as ancestor by classes needing its facilities.

	ARGUMENTS_32
			-- Access to command-line arguments. This class 
			-- may be used as ancestor by classes needing its facilities.

	ARRAY [G]
			-- Sequences of values, all of the same type or of a conforming one,
			-- accessible through integer indices in a contiguous interval.

	ARRAY [G]
			-- Sequences of values, all of the same type or of a conforming one,
			-- accessible through integer indices in a contiguous interval.

	ARRAY2 [G]
			-- Two-dimensional arrays

	ARRAY2 [G]
			-- Two-dimensional arrays

	ARRAYED_CIRCULAR [G]
			-- Circular chains implemented by resizable arrays

	ARRAYED_CIRCULAR [G]
			-- Circular chains implemented by resizable arrays

	ARRAYED_LIST [G]
			-- Lists implemented by resizable arrays

	ARRAYED_LIST [G]
			-- Lists implemented by resizable arrays

	ARRAYED_LIST_CURSOR
			-- Cursors for arrayed lists

	ARRAYED_LIST_CURSOR
			-- Cursors for arrayed lists

	ARRAYED_LIST_ITERATION_CURSOR [G]
			-- External forward one-step iteration cursor for ARRAYED_LIST.

	ARRAYED_LIST_ITERATION_CURSOR [G]
			-- External forward one-step iteration cursor for ARRAYED_LIST.

	ARRAYED_QUEUE [G]
			-- Unbounded queues, implemented by resizable arrays

	ARRAYED_QUEUE [G]
			-- Unbounded queues, implemented by resizable arrays

	ARRAYED_QUEUE_ITERATION_CURSOR [G]
			-- External iteration cursor for ARRAYED_QUEUE.

	ARRAYED_QUEUE_ITERATION_CURSOR [G]
			-- External iteration cursor for ARRAYED_QUEUE.

	ARRAYED_SET [G]
			-- Sets represented as arrayed lists

	ARRAYED_SET [G]
			-- Sets represented as arrayed lists

	ARRAYED_STACK [G]
			-- Stacks implemented by resizable arrays

	ARRAYED_STACK [G]
			-- Stacks implemented by resizable arrays

	ARRAYED_TREE [G]
			-- Trees where the children of each node are kept in an array

	ARRAYED_TREE [G]
			-- Trees where the children of each node are kept in an array

	ARRAY_ITERATION_CURSOR [G]
			-- External forward one-step iteration cursor for ARRAY.

	ARRAY_ITERATION_CURSOR [G]
			-- External forward one-step iteration cursor for ARRAY.

	ASCII
			-- The ASCII character set.
			-- This class may be used as ancestor by classes needing its facilities.

	ASCII
			-- The ASCII character set.
			-- This class may be used as ancestor by classes needing its facilities.

	ASSERTION_VIOLATION*
			-- Exception represents an assertion violation.

	ASSERTION_VIOLATION*
			-- Exception represents an assertion violation.

	BAD_INSPECT_VALUE
			-- Exception raised by inspect value which is not one
			-- of the inspect constants, if there is no Else_part.

	BAD_INSPECT_VALUE
			-- Exception raised by inspect value which is not one
			-- of the inspect constants, if there is no Else_part.

	BAG [G -> attached ANY]
			-- Collections with membership multilicity

	BAG [G -> attached ANY]
			-- Collections with membership multilicity

	EIFFEL_BAG* [G]
			-- Collections of items, where each item may occur zero
			-- or more times, and the number of occurrences is meaningful.

	EIFFEL_BAG* [G]
			-- Collections of items, where each item may occur zero
			-- or more times, and the number of occurrences is meaningful.

	BANK
			-- Summary description for BANK.

	BASIC_ROUTINES
			-- Some useful facilities on objects of basic types.

	BASIC_ROUTINES
			-- Some useful facilities on objects of basic types.

	BIG_INTEGER
			-- An arbitrary precision library for integer numbers.
			-- 
			-- Creation
			-- make_from_string,
			-- make_from_integer64,
			-- make_from_integer32,
			-- 
			-- Queries
			-- absolute: BIG_INTEGER
			-- as_integer32: INTEGER
			-- as_integer64: INTEGER
			-- divide (other: BIG_INTEGER): BIG_INTEGER
			-- gcd (other: BIG_INTEGER): BIG_INTEGER
			-- is_equal (other: BIG_INTEGER): BOOLEAN
			-- is_greater alias ">" (other: [like Current] BIG_INTEGER): BOOLEAN
			-- is_greater_equal alias ">=" (other: [like Current] BIG_INTEGER): BOOLEAN
			-- is_less alias "<" (other: BIG_INTEGER): BOOLEAN
			-- is_less_equal alias "<=" (other: [like Current] BIG_INTEGER): BOOLEAN
			-- max (other: [like Current] BIG_INTEGER): [like Current] BIG_INTEGER
			-- min (other: [like Current] BIG_INTEGER): [like Current] BIG_INTEGER
			-- minus alias "-" (other: BIG_INTEGER): BIG_INTEGER
			-- opposite alias "-": BIG_INTEGER
			-- out: STRING
			-- plus alias "+" (other: BIG_INTEGER): BIG_INTEGER
			-- power alias "^" (other: INTEGER): BIG_INTEGER
			-- product alias "*" (other: BIG_INTEGER): BIG_INTEGER
			-- quotient alias "//" (other: BIG_INTEGER): BIG_INTEGER
			-- remainder alias "\\" (other: BIG_INTEGER): BIG_INTEGER
			-- square: BIG_INTEGER

	BIG_INTEGER
			-- An arbitrary precision library for integer numbers.
			-- 
			-- Creation
			-- make_from_string,
			-- make_from_integer64,
			-- make_from_integer32,
			-- 
			-- Queries
			-- absolute: BIG_INTEGER
			-- as_integer32: INTEGER
			-- as_integer64: INTEGER
			-- divide (other: BIG_INTEGER): BIG_INTEGER
			-- gcd (other: BIG_INTEGER): BIG_INTEGER
			-- is_equal (other: BIG_INTEGER): BOOLEAN
			-- is_greater alias ">" (other: [like Current] BIG_INTEGER): BOOLEAN
			-- is_greater_equal alias ">=" (other: [like Current] BIG_INTEGER): BOOLEAN
			-- is_less alias "<" (other: BIG_INTEGER): BOOLEAN
			-- is_less_equal alias "<=" (other: [like Current] BIG_INTEGER): BOOLEAN
			-- max (other: [like Current] BIG_INTEGER): [like Current] BIG_INTEGER
			-- min (other: [like Current] BIG_INTEGER): [like Current] BIG_INTEGER
			-- minus alias "-" (other: BIG_INTEGER): BIG_INTEGER
			-- opposite alias "-": BIG_INTEGER
			-- out: STRING
			-- plus alias "+" (other: BIG_INTEGER): BIG_INTEGER
			-- power alias "^" (other: INTEGER): BIG_INTEGER
			-- product alias "*" (other: BIG_INTEGER): BIG_INTEGER
			-- quotient alias "//" (other: BIG_INTEGER): BIG_INTEGER
			-- remainder alias "\\" (other: BIG_INTEGER): BIG_INTEGER
			-- square: BIG_INTEGER

	BILINEAR* [G]
			-- Structures that may be traversed forward and backward

	BILINEAR* [G]
			-- Structures that may be traversed forward and backward

	BINARY_SEARCH_TREE [G -> COMPARABLE]
			-- Binary search trees; left child item is less than current item,
			-- right child item is greater

	BINARY_SEARCH_TREE [G -> COMPARABLE]
			-- Binary search trees; left child item is less than current item,
			-- right child item is greater

	BINARY_SEARCH_TREE_SET [G -> COMPARABLE]
			-- Sorted sets implemented as binary search trees

	BINARY_SEARCH_TREE_SET [G -> COMPARABLE]
			-- Sorted sets implemented as binary search trees

	BINARY_TREE [G]
			-- Binary tree: each node may have a left child and a right child

	BINARY_TREE [G]
			-- Binary tree: each node may have a left child and a right child

	BI_LINKABLE [G]
			-- Linkable cells with a reference to the left and right neighbors

	BI_LINKABLE [G]
			-- Linkable cells with a reference to the left and right neighbors

	BOOLEAN
			-- Truth values, with the boolean operations

	BOOLEAN
			-- Truth values, with the boolean operations

	BOOLEAN_REF
			-- References to objects containing a boolean value

	BOOLEAN_REF
			-- References to objects containing a boolean value

	BOOL_STRING
			-- Packed boolean strings

	BOOL_STRING
			-- Packed boolean strings

	BOUNDED* [G]
			-- Bounded data structures, with a notion of capacity.

	BOUNDED* [G]
			-- Bounded data structures, with a notion of capacity.

	BOUNDED_QUEUE [G]
			-- Queues with a bounded physical size, implemented by arrays

	BOUNDED_QUEUE [G]
			-- Queues with a bounded physical size, implemented by arrays

	BOUNDED_STACK [G]
			-- Stacks with a bounded physical size, implemented by arrays

	BOUNDED_STACK [G]
			-- Stacks with a bounded physical size, implemented by arrays

	BOX* [G]
			-- Data structures of the most general kind,
			-- having the potential ability to become full,
			-- and characterized by their implementation properties.

	BOX* [G]
			-- Data structures of the most general kind,
			-- having the potential ability to become full,
			-- and characterized by their implementation properties.

	CAR
			-- Cars

	CELL [G]
			-- Cells containing an item

	CELL [G]
			-- Cells containing an item

	CHAIN* [G]
			-- Possibly circular sequences of items,
			-- without commitment to a particular representation

	CHAIN* [G]
			-- Possibly circular sequences of items,
			-- without commitment to a particular representation

	CHARACTER_32
			-- Unicode characters, with comparison operations

	CHARACTER_32
			-- Unicode characters, with comparison operations

	CHARACTER_32_REF
			-- References to objects containing a unicode character value

	CHARACTER_32_REF
			-- References to objects containing a unicode character value

	CHARACTER_8
			-- Characters, with comparison operations and an ASCII code

	CHARACTER_8
			-- Characters, with comparison operations and an ASCII code

	CHARACTER_8_REF
			-- References to objects containing a character value

	CHARACTER_8_REF
			-- References to objects containing a character value

	CHARACTER_PROPERTY
			-- Helper functions to provide property of a Unicode character of type CHARACTER_32.
			-- This includes finding out if a character is lower, upper, title case, or if it is a digit,
			-- a punctuation, a control or a space character.

	CHARACTER_PROPERTY
			-- Helper functions to provide property of a Unicode character of type CHARACTER_32.
			-- This includes finding out if a character is lower, upper, title case, or if it is a digit,
			-- a punctuation, a control or a space character.

	CHECK_VIOLATION
			-- Exception raised by violated checks

	CHECK_VIOLATION
			-- Exception raised by violated checks

	CIRCULAR* [G]
			-- Circular chains, without commitment to a particular representation

	CIRCULAR* [G]
			-- Circular chains, without commitment to a particular representation

	CIRCULAR_CURSOR
			-- Cursors for circular lists

	CIRCULAR_CURSOR
			-- Cursors for circular lists

	CLASS_NAME_TRANSLATIONS
			-- Translations of class names between a storing and a retrieving
			-- system. Values in this table are names of classes in the retrieving
			-- system, indexed by names of generating classes in the storing
			-- system (i.e. with no generic arguments). Values may have generic
			-- arguments (e.g. "MY_CLASS [REAL_64]"), thus allowing a very simple
			-- conversion of a non-generic class into a generic class. The
			-- presence of entries in this table affects all retrieve operations
			-- for objects stored using independent_store.

	CLASS_NAME_TRANSLATIONS
			-- Translations of class names between a storing and a retrieving
			-- system. Values in this table are names of classes in the retrieving
			-- system, indexed by names of generating classes in the storing
			-- system (i.e. with no generic arguments). Values may have generic
			-- arguments (e.g. "MY_CLASS [REAL_64]"), thus allowing a very simple
			-- conversion of a non-generic class into a generic class. The
			-- presence of entries in this table affects all retrieve operations
			-- for objects stored using independent_store.

	CODE_VALIDITY_CHECKER
			-- Facility routines to check the validity of a DATE_TIME_CODE

	CODE_VALIDITY_CHECKER
			-- Facility routines to check the validity of a DATE_TIME_CODE

	COLLECTION* [G]
			-- General container data structures, 
			-- characterized by the membership properties of their items.

	COLLECTION* [G]
			-- General container data structures, 
			-- characterized by the membership properties of their items.

	COMMON_SETUP
			-- Summary description for COMMON_SETUP.

	COMMON_SETUP2
			-- Summary description for COMMON_SETUP.

	COMPARABLE*
			-- Objects that may be compared according to a total order relation
			-- 
			-- Note: The basic operation is < (less than); others are defined
			-- in terms of this operation and is_equal.

	COMPARABLE*
			-- Objects that may be compared according to a total order relation
			-- 
			-- Note: The basic operation is < (less than); others are defined
			-- in terms of this operation and is_equal.

	COMPARABLE_GRAPH [V -> COMPARABLE]
			-- Descendant of GRAPH[V] where V is now COMPARABLE.
			-- Mathematical model for a Directed Graph = (vertices, edges)
			-- where vertices is a set of comparable vertices in generic parameter V,
			-- and edges is a relation in vertices:
			-- vertices: SET [V]
			-- edges: REL [V, V]
			-- Inherits immutable queries and commands
			-- to add and remove vertices and edges.
			-- Also derived queries for outgoing and incoming edges:
			-- outgoing (v: V): REL[V, V]
			-- incoming (v: V): REL[V, V]
			-- adjacent (v: V): SEQ [V]
			-- adjacent is redefined as sorted sequence of (comprable) vertices 
			-- to uniquely define shortest paths etc.
			-- Derived queries such as:
			-- reachable (src: V): SEQ[V]
			-- shortest_path(v1, v2: V): detachable SEQ[V]
			-- where reachable uses breadth-first search starting with vertex src,
			-- to return the set of all nodes reachable from src.
			-- shortest_path returns the shortest path between v1 and v2 if it exists.
			-- Also has queries for cycles and topological sort.

	COMPARABLE_GRAPH [V -> COMPARABLE]
			-- Descendant of GRAPH[V] where V is now COMPARABLE.
			-- Mathematical model for a Directed Graph = (vertices, edges)
			-- where vertices is a set of comparable vertices in generic parameter V,
			-- and edges is a relation in vertices:
			-- vertices: SET [V]
			-- edges: REL [V, V]
			-- Inherits immutable queries and commands
			-- to add and remove vertices and edges.
			-- Also derived queries for outgoing and incoming edges:
			-- outgoing (v: V): REL[V, V]
			-- incoming (v: V): REL[V, V]
			-- adjacent (v: V): SEQ [V]
			-- adjacent is redefined as sorted sequence of (comprable) vertices 
			-- to uniquely define shortest paths etc.
			-- Derived queries such as:
			-- reachable (src: V): SEQ[V]
			-- shortest_path(v1, v2: V): detachable SEQ[V]
			-- where reachable uses breadth-first search starting with vertex src,
			-- to return the set of all nodes reachable from src.
			-- shortest_path returns the shortest path between v1 and v2 if it exists.
			-- Also has queries for cycles and topological sort.

	COMPARABLE_SET* [G -> COMPARABLE]
			-- Sets whose items may be compared according to a total order relation

	COMPARABLE_SET* [G -> COMPARABLE]
			-- Sets whose items may be compared according to a total order relation

	COMPARABLE_STRUCT* [G -> COMPARABLE]
			-- Data structures whose items may be compared
			-- according to a total order relation

	COMPARABLE_STRUCT* [G -> COMPARABLE]
			-- Data structures whose items may be compared
			-- according to a total order relation

	COMPARABLE_VERTEX_DISTANCE_PAIR [G -> COMPARABLE]
			-- Summary description for COMPARABLE_VERTEX_DISTANCE_PAIR.

	COMPARABLE_VERTEX_DISTANCE_PAIR [G -> COMPARABLE]
			-- Summary description for COMPARABLE_VERTEX_DISTANCE_PAIR.

	COM_FAILURE
			-- Exception for a COM error

	COM_FAILURE
			-- Exception for a COM error

	CONDITION_VARIABLE
			-- Condition variables allow threads to synchronize based on the content of a shared data, whereas
			-- mutexes only synchronize access to the data. In other words, a condition variable is a
			-- synchronization object that enables threads to wait until a particular condition occurs.
			-- 
			-- When a thread executes a wait call on a condition variable, it must hold an associated mutex
			-- (used for checking that condition). Then, it is immediately suspended and put into the waiting
			-- queue. The thread is suspended and is waiting for the condition to occur.
			-- 
			-- Eventually, when the condition has occurred, a thread will signal it. Two possible scenarios:
			-- - if there are threads waiting, then one of the waiting thread will resume its execution and
			--   will get the mutex in a locked state.
			-- - if there are no threads waiting, nothing is done
			-- 
			-- For the simple usage of a condition variable, it is very similar to using a semaphore.
			-- 
			-- In addition you have broadcast that will resume all waiting threads at once, and
			-- wait_with_timeout that will wait only a certain amount of time before abandonning the wait.
			-- 
			-- The signal and broadcast routines can be called by a thread whether or not it currently owns
			-- the mutex that threads calling wait or wait_with_timeout have associated with the condition
			-- variable during their waits. If, however, predictable scheduling behavior is required, then that
			-- mutex should be locked by the thread prior to calling signal or broadcast.
			-- 
			-- Assuming shared_data an INTEGER initially set to zero, then a typical usage of condition variable
			-- to wait until shared_data becomes one, could be written as followed in thread A:
			-- 
			-- mutex.lock
			-- from
			-- until
			-- shared_data = 1
			-- loop
			-- condition_variable.wait (mutex)
			-- end
			-- mutex.unlock
			-- 
			-- and in thread B:
			-- 
			-- mutex.lock
			-- shared_data := 1
			-- condition_variable.signal
			-- mutex.unlock
			-- 
			-- Thread A will be blocked until thread B signal that now shared_data is 1.

	CONDITION_VARIABLE
			-- Condition variables allow threads to synchronize based on the content of a shared data, whereas
			-- mutexes only synchronize access to the data. In other words, a condition variable is a
			-- synchronization object that enables threads to wait until a particular condition occurs.
			-- 
			-- When a thread executes a wait call on a condition variable, it must hold an associated mutex
			-- (used for checking that condition). Then, it is immediately suspended and put into the waiting
			-- queue. The thread is suspended and is waiting for the condition to occur.
			-- 
			-- Eventually, when the condition has occurred, a thread will signal it. Two possible scenarios:
			-- - if there are threads waiting, then one of the waiting thread will resume its execution and
			--   will get the mutex in a locked state.
			-- - if there are no threads waiting, nothing is done
			-- 
			-- For the simple usage of a condition variable, it is very similar to using a semaphore.
			-- 
			-- In addition you have broadcast that will resume all waiting threads at once, and
			-- wait_with_timeout that will wait only a certain amount of time before abandonning the wait.
			-- 
			-- The signal and broadcast routines can be called by a thread whether or not it currently owns
			-- the mutex that threads calling wait or wait_with_timeout have associated with the condition
			-- variable during their waits. If, however, predictable scheduling behavior is required, then that
			-- mutex should be locked by the thread prior to calling signal or broadcast.
			-- 
			-- Assuming shared_data an INTEGER initially set to zero, then a typical usage of condition variable
			-- to wait until shared_data becomes one, could be written as followed in thread A:
			-- 
			-- mutex.lock
			-- from
			-- until
			-- shared_data = 1
			-- loop
			-- condition_variable.wait (mutex)
			-- end
			-- mutex.unlock
			-- 
			-- and in thread B:
			-- 
			-- mutex.lock
			-- shared_data := 1
			-- condition_variable.signal
			-- mutex.unlock
			-- 
			-- Thread A will be blocked until thread B signal that now shared_data is 1.

	CONSOLE
			-- Commonly used console input and output mechanisms. 
			-- This class may be used as ancestor by classes needing its facilities.

	CONSOLE
			-- Commonly used console input and output mechanisms. 
			-- This class may be used as ancestor by classes needing its facilities.

	CONTAINER* [G]
			-- Data structures of the most general kind,
			-- used to hold zero or more items.

	CONTAINER* [G]
			-- Data structures of the most general kind,
			-- used to hold zero or more items.

	COUNTABLE* [G]
			-- Infinite containers whose items are in one-to-one 
			-- correspondence with the integers.

	COUNTABLE* [G]
			-- Infinite containers whose items are in one-to-one 
			-- correspondence with the integers.

	COUNTABLE_SEQUENCE* [G]
			-- Infinite sequences, indexed by integers

	COUNTABLE_SEQUENCE* [G]
			-- Infinite sequences, indexed by integers

	COURSE
			-- A Course with its administrative information.

	CREATE_ON_DEFERRED
			-- Exception raised when creating deferred classes

	CREATE_ON_DEFERRED
			-- Exception raised when creating deferred classes

	CURSOR
			-- Cursors for remembering positions in arbitrary data structures

	CURSOR
			-- Cursors for remembering positions in arbitrary data structures

	CURSOR_STRUCTURE* [G]
			-- Active structures, which always have a current position
			-- accessible through a cursor.

	CURSOR_STRUCTURE* [G]
			-- Active structures, which always have a current position
			-- accessible through a cursor.

	CURSOR_TREE* [G]
			-- Trees as active structures that may be traversed using a cursor

	CURSOR_TREE* [G]
			-- Trees as active structures that may be traversed using a cursor

	CURSOR_TREE_ITERATOR* [G]
			-- Objects that are able to iterate over cursor trees, 
			-- on which they can perform repeated actions and tests according
			-- to a number of predefined control structures such as if,
			-- until and others.

	CURSOR_TREE_ITERATOR* [G]
			-- Objects that are able to iterate over cursor trees, 
			-- on which they can perform repeated actions and tests according
			-- to a number of predefined control structures such as if,
			-- until and others.

	C_DATE
			-- Representation of a date at C level

	C_DATE
			-- Representation of a date at C level

	C_STRING
			-- A low-level string class to solve some garbage collector problems (mainly objects moving around) when interfacing with C APIs.

	C_STRING
			-- A low-level string class to solve some garbage collector problems (mainly objects moving around) when interfacing with C APIs.

	DATA_EXCEPTION*
			-- Deffered class of data exception from the runtime

	DATA_EXCEPTION*
			-- Deffered class of data exception from the runtime

	DATE
			-- Absolute dates

	DATE
			-- Absolute dates

	DATE_CONSTANTS
			-- Universal constants about dates

	DATE_CONSTANTS
			-- Universal constants about dates

	DATE_DURATION
			-- Durations of date

	DATE_DURATION
			-- Durations of date

	DATE_MEASUREMENT*
			-- Date Measurement

	DATE_MEASUREMENT*
			-- Date Measurement

	DATE_TIME
			-- Absolute temporal values composed of a date and a time

	DATE_TIME
			-- Absolute temporal values composed of a date and a time

	DATE_TIME_CODE
			-- Code used by the DATE/TIME to STRING conversion

	DATE_TIME_CODE
			-- Code used by the DATE/TIME to STRING conversion

	DATE_TIME_CODE_STRING
			-- DATE/TIME to STRING conversion

	DATE_TIME_CODE_STRING
			-- DATE/TIME to STRING conversion

	DATE_TIME_DURATION
			-- Duration of dates and times

	DATE_TIME_DURATION
			-- Duration of dates and times

	DATE_TIME_LANGUAGE_CONSTANTS*
			-- Language settings

	DATE_TIME_LANGUAGE_CONSTANTS*
			-- Language settings

	DATE_TIME_MEASUREMENT*
			-- Date/Time Measurement

	DATE_TIME_MEASUREMENT*
			-- Date/Time Measurement

	DATE_TIME_PARSER
			-- Parser facility for dates and times

	DATE_TIME_PARSER
			-- Parser facility for dates and times

	DATE_TIME_TOOLS
			-- English settings

	DATE_TIME_TOOLS
			-- English settings

	DATE_TIME_VALIDITY_CHECKER
			-- Facility routines to check the validity of DATE_TIMEs

	DATE_TIME_VALIDITY_CHECKER
			-- Facility routines to check the validity of DATE_TIMEs

	DATE_TIME_VALUE*

	DATE_TIME_VALUE*

	DATE_VALIDITY_CHECKER
			-- Facility routines to check the validity of DATEs

	DATE_VALIDITY_CHECKER
			-- Facility routines to check the validity of DATEs

	DATE_VALUE
			-- Values of date

	DATE_VALUE
			-- Values of date

	DEBUG_OUTPUT*
			-- Objects that provide an output in debugger

	DEBUG_OUTPUT*
			-- Objects that provide an output in debugger

	DECIMAL
			-- An arbitrary precision library for decimal numbers. 
			-- Following the 'General Decimal Arithmetic Specification' of gobo MA_DECIMAL.
			-- 
			-- Creation
			-- make_from_string
			-- make_from_decimal
			-- make_from_int
			-- make_from_big_int
			-- make_from_rational
			-- 
			-- Queries
			-- as_big_int: BIG_INTEGER
			-- as_rational: RATIONAL
			-- as_real32: REAL_32
			-- as_real64: REAL_64
			-- exp alias "^" (power: DECIMAL): DECIMAL
			-- identity alias "+": DECIMAL
			-- is_equal (other: DECIMAL): BOOLEAN
			-- is_greater alias ">" (other: DECIMAL): BOOLEAN
			-- is_greater_equal alias ">=" (other: DECIMAL): BOOLEAN
			-- is_integer: BOOLEAN
			-- is_less alias "<" (other: DECIMAL): BOOLEAN
			-- is_less_equal alias "<=" (other: DECIMAL): BOOLEAN
			-- is_natural: BOOLEAN
			-- is_natural1: BOOLEAN
			-- is_negative: BOOLEAN
			-- is_real32: BOOLEAN
			-- is_real64: BOOLEAN
			-- max (other: DECIMAL): DECIMAL
			-- min (other: DECIMAL): DECIMAL
			-- minus alias "-" (other: DECIMAL): DECIMAL
			-- one: DECIMAL
			-- opposite alias "-": DECIMAL
			-- out: STRING
			-- plus alias "+" (other: DECIMAL): DECIMAL
			-- precise_out: STRING
			-- precise_out_to (digits: INTEGER): STRING
			-- product alias "*" (other: DECIMAL): DECIMAL
			-- quotient alias "/" (other: DECIMAL): DECIMAL
			-- sqrt: DECIMAL
			-- round_to (digits: INTEGER): DECIMAL
			-- zero: DECIMAL
			-- 
			-- Commands
			-- round (digits: INTEGER)
			-- set_precision (precision: INTEGER)

	DECIMAL
			-- An arbitrary precision library for decimal numbers. 
			-- Following the 'General Decimal Arithmetic Specification' of gobo MA_DECIMAL.
			-- 
			-- Creation
			-- make_from_string
			-- make_from_decimal
			-- make_from_int
			-- make_from_big_int
			-- make_from_rational
			-- 
			-- Queries
			-- as_big_int: BIG_INTEGER
			-- as_rational: RATIONAL
			-- as_real32: REAL_32
			-- as_real64: REAL_64
			-- exp alias "^" (power: DECIMAL): DECIMAL
			-- identity alias "+": DECIMAL
			-- is_equal (other: DECIMAL): BOOLEAN
			-- is_greater alias ">" (other: DECIMAL): BOOLEAN
			-- is_greater_equal alias ">=" (other: DECIMAL): BOOLEAN
			-- is_integer: BOOLEAN
			-- is_less alias "<" (other: DECIMAL): BOOLEAN
			-- is_less_equal alias "<=" (other: DECIMAL): BOOLEAN
			-- is_natural: BOOLEAN
			-- is_natural1: BOOLEAN
			-- is_negative: BOOLEAN
			-- is_real32: BOOLEAN
			-- is_real64: BOOLEAN
			-- max (other: DECIMAL): DECIMAL
			-- min (other: DECIMAL): DECIMAL
			-- minus alias "-" (other: DECIMAL): DECIMAL
			-- one: DECIMAL
			-- opposite alias "-": DECIMAL
			-- out: STRING
			-- plus alias "+" (other: DECIMAL): DECIMAL
			-- precise_out: STRING
			-- precise_out_to (digits: INTEGER): STRING
			-- product alias "*" (other: DECIMAL): DECIMAL
			-- quotient alias "/" (other: DECIMAL): DECIMAL
			-- sqrt: DECIMAL
			-- round_to (digits: INTEGER): DECIMAL
			-- zero: DECIMAL
			-- 
			-- Commands
			-- round (digits: INTEGER)
			-- set_precision (precision: INTEGER)

	DECIMAL_ADVANCED_TEST
			-- Contains test cases for elements of the DECIMAL class, including
			-- precision, accumulation of decimals, and more.

	DECIMAL_FUNCTION_TEST
			-- A series of test cases for the functions included in the DECIMAL class.
			-- This includes make_from_ints, make_from_string, make_with_precision, 
			-- as_double, and set_precision/reset_precision."

	DECIMAL_LONG_TEST
			-- Testing suite for the DECIMAL class covering the operation capabilities
			-- on very large numbers.

	DECIMAL_PREDICATE_TEST
			-- Testing suite for the DECIMAL Class covering the is_equal,
			-- is_less, divisible, is_integer, is_natural, is_natural1, and
			-- is_negative queries.

	DECIMAL_PRIMARY_OPERATION_TEST
			-- Testing suite for the DECIMAL Class covering the +, -, *, and / operation capabilities.

	DECIMAL_SECONDARY_OPERATION_TEST
			-- Testing suite for the DECIMAL Class covering the opposite,
			-- identity, root, exponent, round_to, round, negate, and absolute
			-- functions.

	DECIMAL_SUITE
			-- ROOT class for DECIMAL, RATIONAL, and BIG_INTEGER testing suites.

	DECIMAL_VIOLATION_TEST
			-- Testing suite for the DECIMAL Class testing preconditions.

	DECLARATOR
			-- Class used to ensure proper precompilation of EiffelBase. 
			-- Not to be used otherwise.

	DECLARATOR
			-- Class used to ensure proper precompilation of EiffelBase. 
			-- Not to be used otherwise.

	DEVELOPER_EXCEPTION
			-- Ancestor of all developer exceptions

	DEVELOPER_EXCEPTION
			-- Ancestor of all developer exceptions

	DIRECTORY
			-- Directories, in the Unix sense, with creation and exploration features

	DIRECTORY
			-- Directories, in the Unix sense, with creation and exploration features

	DIRECTORY_NAME
			-- Directory name abstraction

	DIRECTORY_NAME
			-- Directory name abstraction

	DISPENSER* [G]
			-- Dispensers: containers for which clients have no say
			-- as to what item they can access at a given time.
			-- Examples include stacks and queues.

	DISPENSER* [G]
			-- Dispensers: containers for which clients have no say
			-- as to what item they can access at a given time.
			-- Examples include stacks and queues.

	DISPOSABLE*
			-- Perform cleanup operations before current instance is reclaimed by garbage collection.

	DISPOSABLE*
			-- Perform cleanup operations before current instance is reclaimed by garbage collection.

	DOUBLE_MATH
			-- Basic mathematical operations, double-precision.
			-- This class may be used as ancestor by classes needing its facilities.

	DOUBLE_MATH
			-- Basic mathematical operations, double-precision.
			-- This class may be used as ancestor by classes needing its facilities.

	DURATION*
			-- Temporal intervals

	DURATION*
			-- Temporal intervals

	DYNAMIC_CHAIN* [G]
			-- Dynamically modifiable chains

	DYNAMIC_CHAIN* [G]
			-- Dynamically modifiable chains

	DYNAMIC_CIRCULAR* [G]
			-- Dynamically modifiable circular chains

	DYNAMIC_CIRCULAR* [G]
			-- Dynamically modifiable circular chains

	DYNAMIC_LIST* [G]
			-- Sequential, dynamically modifiable lists,
			-- without commitment to a particular representation

	DYNAMIC_LIST* [G]
			-- Sequential, dynamically modifiable lists,
			-- without commitment to a particular representation

	DYNAMIC_TREE* [G]
			-- Trees with a dynamically modifiable structure

	DYNAMIC_TREE* [G]
			-- Trees with a dynamically modifiable structure

	ECMA_INTERNAL
			-- Version of INTERNAL which does not use the mapping of STRING to STRING_8, INTEGER to INTEGER_32, etc...

	ECMA_INTERNAL
			-- Version of INTERNAL which does not use the mapping of STRING to STRING_8, INTEGER to INTEGER_32, etc...

	EIFFELSTUDIO_SPECIFIC_LANGUAGE_EXCEPTION*
			-- Deferred class representing EiffelStudio specific language exceptions.

	EIFFELSTUDIO_SPECIFIC_LANGUAGE_EXCEPTION*
			-- Deferred class representing EiffelStudio specific language exceptions.

	EIFFEL_RUNTIME_EXCEPTION*
			-- Eiffel runtime exception

	EIFFEL_RUNTIME_EXCEPTION*
			-- Eiffel runtime exception

	EIFFEL_RUNTIME_PANIC
			-- Eiffel runtime panic

	EIFFEL_RUNTIME_PANIC
			-- Eiffel runtime panic

	EIF_EXCEPTION*
			-- Deferred class for exceptions of Eiffel language, runtime and so on.

	EIF_EXCEPTION*
			-- Deferred class for exceptions of Eiffel language, runtime and so on.

	EMPTY_ITERATION_CURSOR [G]
			-- External iteration cursor for an ITERABLE without any elements.

	EMPTY_ITERATION_CURSOR [G]
			-- External iteration cursor for an ITERABLE without any elements.

	ES_BOOLEAN_TEST_CASE
			-- Objects that represent boolean test cases (pass/fail).

	ES_BOOLEAN_TEST_CASE
			-- Objects that represent boolean test cases (pass/fail).

	ES_HTML_GEN*
			-- HTML report generator.

	ES_HTML_GEN*
			-- HTML report generator.

	ES_HTML_GEN_SUITE
			-- HTML report generator. For TEST_SUITE.

	ES_HTML_GEN_SUITE
			-- HTML report generator. For TEST_SUITE.

	ES_SUITE
			-- Objects that represent bunch of ES_TESTs (unit tests).

	ES_SUITE
			-- Objects that represent bunch of ES_TESTs (unit tests).

	ES_TEST*
			-- Objects that test a given class and send results to the GUI using sockets, update NET_UNIT_TEST when you update this class.

	ES_TEST*
			-- Objects that test a given class and send results to the GUI using sockets, update NET_UNIT_TEST when you update this class.

	ES_TESTABLE*
			-- Providing shared features for ES_TEST and ES_TEST_SUITE classes.

	ES_TESTABLE*
			-- Providing shared features for ES_TEST and ES_TEST_SUITE classes.

	ES_TEST_CASE*
			-- Objects that represent test cases

	ES_TEST_CASE*
			-- Objects that represent test cases

	ES_VIOLATION_CASE
			-- Objects that represent cases that will throw exception

	ES_VIOLATION_CASE
			-- Objects that represent cases that will throw exception

	EXCEPTION
			-- Ancestor of all exception classes.

	EXCEPTION
			-- Ancestor of all exception classes.

	EXCEPTIONS
			-- Facilities for adapting the exception handling mechanism.
			-- This class may be used as ancestor by classes needing its facilities.

	EXCEPTIONS
			-- Facilities for adapting the exception handling mechanism.
			-- This class may be used as ancestor by classes needing its facilities.

	EXCEPTION_IN_SIGNAL_HANDLER_FAILURE
			-- Exception raised in signal handler

	EXCEPTION_IN_SIGNAL_HANDLER_FAILURE
			-- Exception raised in signal handler

	EXCEPTION_MANAGER
			-- Common exception operations and management.

	EXCEPTION_MANAGER
			-- Common exception operations and management.

	EXCEPTION_MANAGER_FACTORY
			-- Exception manager factory.

	EXCEPTION_MANAGER_FACTORY
			-- Exception manager factory.

	EXCEP_CONST
			-- Constants used for exception handling.
			-- This class may be used as ancestor by classes needing its facilities.

	EXCEP_CONST
			-- Constants used for exception handling.
			-- This class may be used as ancestor by classes needing its facilities.

	EXECUTION_ENVIRONMENT
			-- The objects available from the environment at time of execution

	EXECUTION_ENVIRONMENT
			-- The objects available from the environment at time of execution

	EXTERNAL_FAILURE
			-- Exception for operating system error
			-- which does not set the errno variable (Unix-specific)

	EXTERNAL_FAILURE
			-- Exception for operating system error
			-- which does not set the errno variable (Unix-specific)

	FIBONACCI
			-- The Fibonacci number sequence

	FIBONACCI
			-- The Fibonacci number sequence

	FILE*
			-- Sequential files, viewed as persistent sequences of characters

	FILE*
			-- Sequential files, viewed as persistent sequences of characters

	FILE_COMPARER
			-- Find out if two paths corresponds to exactly the same file.

	FILE_COMPARER
			-- Find out if two paths corresponds to exactly the same file.

	FILE_INFO
			-- Internal file information

	FILE_INFO
			-- Internal file information

	FILE_ITERATION_CURSOR
			-- External iteration cursor for a file.

	FILE_ITERATION_CURSOR
			-- External iteration cursor for a file.

	FILE_NAME
			-- File name abstraction

	FILE_NAME
			-- File name abstraction

	FILE_UTILITIES
			-- File utilities, for retrieving files and folders and formatting paths.

	FILE_UTILITIES
			-- File utilities, for retrieving files and folders and formatting paths.

	FIND_SEPARATOR_FACILITY
			-- Facility to find separators in date or time strings

	FIND_SEPARATOR_FACILITY
			-- Facility to find separators in date or time strings

	FINITE* [G]
			-- Structures with a finite item count

	FINITE* [G]
			-- Structures with a finite item count

	FIXED* [G]
			-- Finite structures whose item count cannot be changed

	FIXED* [G]
			-- Finite structures whose item count cannot be changed

	FIXED_LIST [G]
			-- Lists with fixed maximum numbers of items, implemented by arrays

	FIXED_LIST [G]
			-- Lists with fixed maximum numbers of items, implemented by arrays

	FIXED_TREE [G]
			-- Trees where each node has a fixed number of children.
			-- The number of children is arbitrary but cannot be
			-- changed once the node has been created.

	FIXED_TREE [G]
			-- Trees where each node has a fixed number of children.
			-- The number of children is arbitrary but cannot be
			-- changed once the node has been created.

	FLOAT
			-- Floating point numbers based on REAL_64
			-- With an approximately equal operator,
			-- see FLOAT_COMPARABLE

	FLOAT
			-- Floating point numbers based on REAL_64
			-- With an approximately equal operator,
			-- see FLOAT_COMPARABLE

	FLOATING_POINT_FAILURE
			-- Floating point failure

	FLOATING_POINT_FAILURE
			-- Floating point failure

	FLOAT_COMPARER
			-- Compare two reals x and y within epsilon.
			-- (x |~| y).rounded_to(epsilon): 
			-- This is an equivalence relation.
			-- Bin sizes are of length epsilon (the precision) centered at a representive defined
			-- by the the 'round' function. Representative r for float x is: (x/epsilon+.5).floor. 
			-- Floats x and y are in the same bin iff they have the same representatives.
			-- The bins are centered at zero and then distributed symetrically in the positive 
			-- and negative directions. If x and y are in the same bin and y and z
			-- are in the same bin, then a and z are also in the same bin.
			-- (x |~| y).within(epsilon):
			-- This is not an equivalence relation. It is _not_ the case that
			-- if x and y are within epsilon and y and z are withn epsilon
			-- then x and z are within epsilon.

	FLOAT_COMPARER
			-- Compare two reals x and y within epsilon.
			-- (x |~| y).rounded_to(epsilon): 
			-- This is an equivalence relation.
			-- Bin sizes are of length epsilon (the precision) centered at a representive defined
			-- by the the 'round' function. Representative r for float x is: (x/epsilon+.5).floor. 
			-- Floats x and y are in the same bin iff they have the same representatives.
			-- The bins are centered at zero and then distributed symetrically in the positive 
			-- and negative directions. If x and y are in the same bin and y and z
			-- are in the same bin, then a and z are also in the same bin.
			-- (x |~| y).within(epsilon):
			-- This is not an equivalence relation. It is _not_ the case that
			-- if x and y are within epsilon and y and z are withn epsilon
			-- then x and z are within epsilon.

	FORMAT_DOUBLE
			-- Formatter for non-integral numbers

	FORMAT_DOUBLE
			-- Formatter for non-integral numbers

	FORMAT_INTEGER
			-- Formatter for integral numbers

	FORMAT_INTEGER
			-- Formatter for integral numbers

	FUN [G -> attached ANY, H -> attached ANY]
			-- Summary description for FUN.

	FUN [G -> attached ANY, H -> attached ANY]
			-- Summary description for FUN.

	FUNCTION [OPEN_ARGS -> detachable TUPLE create default_create end, RESULT_TYPE]
			-- Objects representing delayed calls to a function,
			-- with some arguments possibly still open.
			-- 
			-- Note: Features are the same as those of ROUTINE,
			-- with apply made effective, and the addition
			-- of last_result and item.

	FUNCTION [OPEN_ARGS -> detachable TUPLE create default_create end, RESULT_TYPE]
			-- Objects representing delayed calls to a function,
			-- with some arguments possibly still open.
			-- 
			-- Note: Features are the same as those of ROUTINE,
			-- with apply made effective, and the addition
			-- of last_result and item.

	GC_INFO
			-- Garbage collector statistics.
			-- This class may be used as ancestor by classes needing its facilities.
			-- Time accounting is relevant only if enable_time_accounting 
			-- (from MEMORY) has been called.

	GC_INFO
			-- Garbage collector statistics.
			-- This class may be used as ancestor by classes needing its facilities.
			-- Time accounting is relevant only if enable_time_accounting 
			-- (from MEMORY) has been called.

	GENERAL_SPECIAL_ITERATION_CURSOR* [G, H -> READABLE_INDEXABLE [G]]
			-- External forward one-step iteration cursor for structures that use SPECIAL for storage.

	GENERAL_SPECIAL_ITERATION_CURSOR* [G, H -> READABLE_INDEXABLE [G]]
			-- External forward one-step iteration cursor for structures that use SPECIAL for storage.

	GRAPH [V -> attached ANY]
			-- Mathematical model for a Directed Graph = (vertices, edges)
			-- where vertices is a set of vertices in generic parameter V, 
			-- and edges is a relation in vertices:
			-- vertices: SET [V]
			-- edges: REL [V, V]
			-- Has immutable queries and commands 
			-- to add and remove vertices and edges. 
			-- Also derived queries for outgoing and incoming edges:
			-- outgoing (v: V): REL[V, V]
			-- incoming (v: V): REL[V, V]
			-- adjacent (v: V): SEQ [V]
			-- adjacent is a sequence of vertices that may be
			-- ordered in descendants such as COMPARABLE_GRAPH[G].
			-- Derived queries such as: 
			-- reachable (src: V): SEQ[V]
			-- shortest_path(v1, v2: V): detachable SEQ[V]
			-- is_a_shortest_path (v1, v2: V; seq: SEQ[V]): BOOLEAN
			-- cycle (v: V): detachable SEQ[V]
			-- is_acyclic: BOOLEAN
			-- topologically_sorted: SEQ[V]
			-- is_topologically_sorted (seq: SEQ[V]): BOOLEAN
			-- where reachable uses breadth-first search starting with vertex src,
			-- to return the set of all nodes reachable from src.
			-- shortest_path returns the shortest path between v1 and v2 if it exists.

	GRAPH [V -> attached ANY]
			-- Mathematical model for a Directed Graph = (vertices, edges)
			-- where vertices is a set of vertices in generic parameter V, 
			-- and edges is a relation in vertices:
			-- vertices: SET [V]
			-- edges: REL [V, V]
			-- Has immutable queries and commands 
			-- to add and remove vertices and edges. 
			-- Also derived queries for outgoing and incoming edges:
			-- outgoing (v: V): REL[V, V]
			-- incoming (v: V): REL[V, V]
			-- adjacent (v: V): SEQ [V]
			-- adjacent is a sequence of vertices that may be
			-- ordered in descendants such as COMPARABLE_GRAPH[G].
			-- Derived queries such as: 
			-- reachable (src: V): SEQ[V]
			-- shortest_path(v1, v2: V): detachable SEQ[V]
			-- is_a_shortest_path (v1, v2: V; seq: SEQ[V]): BOOLEAN
			-- cycle (v: V): detachable SEQ[V]
			-- is_acyclic: BOOLEAN
			-- topologically_sorted: SEQ[V]
			-- is_topologically_sorted (seq: SEQ[V]): BOOLEAN
			-- where reachable uses breadth-first search starting with vertex src,
			-- to return the set of all nodes reachable from src.
			-- shortest_path returns the shortest path between v1 and v2 if it exists.

	GRAPH_SUITE
			-- ROOT class for mathematical graph testing suites.

	GROUP_ELEMENT*
			-- Invertible object with an internal + operation.
			-- 
			-- Note: The model is that of a commutative group.

	GROUP_ELEMENT*
			-- Invertible object with an internal + operation.
			-- 
			-- Note: The model is that of a commutative group.

	HARDWARE_EXCEPTION*
			-- Deferred class for hardware exceptions

	HARDWARE_EXCEPTION*
			-- Deferred class for hardware exceptions

	HASHABLE*
			-- Values that may be hashed into an integer index, 
			-- for use as keys in hash tables

	HASHABLE*
			-- Values that may be hashed into an integer index, 
			-- for use as keys in hash tables

	HASH_TABLE [G, K -> detachable HASHABLE]
			-- Hash tables, used to store items identified by hashable keys

	HASH_TABLE [G, K -> detachable HASHABLE]
			-- Hash tables, used to store items identified by hashable keys

	HASH_TABLE_CURSOR
			-- Cursors for hash table traversal

	HASH_TABLE_CURSOR
			-- Cursors for hash table traversal

	HASH_TABLE_ITERATION_CURSOR [G, K -> detachable HASHABLE]
			-- An external iteration cursor for HASH_TABLE.

	HASH_TABLE_ITERATION_CURSOR [G, K -> detachable HASHABLE]
			-- An external iteration cursor for HASH_TABLE.

	HEALTH_SYSTEM
			-- An electronic health (e-Health) system.

	HEAP_PRIORITY_QUEUE [G -> COMPARABLE]
			-- Priority queues implemented as heaps

	HEAP_PRIORITY_QUEUE [G -> COMPARABLE]
			-- Priority queues implemented as heaps

	HEAP_PRIORITY_QUEUE_ITERATION_CURSOR [G -> COMPARABLE]
			-- External iteration cursor for HEAP_PRIORITY_QUEUE.

	HEAP_PRIORITY_QUEUE_ITERATION_CURSOR [G -> COMPARABLE]
			-- External iteration cursor for HEAP_PRIORITY_QUEUE.

	HEXADECIMAL_STRING_TO_INTEGER_CONVERTER
			-- Convertor to do hexadecimal string to integer/natural conversion

	HEXADECIMAL_STRING_TO_INTEGER_CONVERTER
			-- Convertor to do hexadecimal string to integer/natural conversion

	HIERARCHICAL* [G]
			-- Hierarchical structures in which each item has zero or
			-- one immediate predecessor, and zero or more successors.

	HIERARCHICAL* [G]
			-- Hierarchical structures in which each item has zero or
			-- one immediate predecessor, and zero or more successors.

	IDENTIFIED
			-- Objects identified, uniquely during any session, by an integer

	IDENTIFIED
			-- Objects identified, uniquely during any session, by an integer

	IDENTIFIED_CONTROLLER
			-- Externals for managing the object id stack (see identified.e)

	IDENTIFIED_CONTROLLER
			-- Externals for managing the object id stack (see identified.e)

	IDENTIFIED_ROUTINES
			-- Objects identified, uniquely during any session, by an integer

	IDENTIFIED_ROUTINES
			-- Objects identified, uniquely during any session, by an integer

	IMMUTABLE_STRING_32
			-- Sequences of immutable 32-bit characters, accessible through integer indices
			-- in a contiguous range.

	IMMUTABLE_STRING_32
			-- Sequences of immutable 32-bit characters, accessible through integer indices
			-- in a contiguous range.

	IMMUTABLE_STRING_8
			-- Sequences of immutable 8-bit characters, accessible through integer indices
			-- in a contiguous range.

	IMMUTABLE_STRING_8
			-- Sequences of immutable 8-bit characters, accessible through integer indices
			-- in a contiguous range.

	IMMUTABLE_STRING_GENERAL*
			-- Common ancestors to all immutable STRING classes.

	IMMUTABLE_STRING_GENERAL*
			-- Common ancestors to all immutable STRING classes.

	INDEXABLE* [G, H -> INTEGER_32]
			-- Tables whose keys are integers in a contiguous interval

	INDEXABLE* [G, H -> INTEGER_32]
			-- Tables whose keys are integers in a contiguous interval

	INDEXABLE_ITERATION_CURSOR* [G]
			-- External iteration cursor for READABLE_INDEXABLE.

	INDEXABLE_ITERATION_CURSOR* [G]
			-- External iteration cursor for READABLE_INDEXABLE.

	INFINITE* [G]
			-- Infinite containers.

	INFINITE* [G]
			-- Infinite containers.

	INTEGER_16
			-- Integer values coded on 16 bits

	INTEGER_16
			-- Integer values coded on 16 bits

	INTEGER_16_REF
			-- References to objects containing an integer value coded on 16 bits

	INTEGER_16_REF
			-- References to objects containing an integer value coded on 16 bits

	INTEGER_32
			-- Integer values

	INTEGER_32
			-- Integer values

	INTEGER_32_REF
			-- References to objects containing an integer value coded on 32 bits

	INTEGER_32_REF
			-- References to objects containing an integer value coded on 32 bits

	INTEGER_64
			-- Integer values coded on 64 bits

	INTEGER_64
			-- Integer values coded on 64 bits

	INTEGER_64_REF
			-- References to objects containing an integer value coded on 64 bits

	INTEGER_64_REF
			-- References to objects containing an integer value coded on 64 bits

	INTEGER_8
			-- Integer values coded on 8 bits

	INTEGER_8
			-- Integer values coded on 8 bits

	INTEGER_8_REF
			-- References to objects containing an integer value coded on 8 bits

	INTEGER_8_REF
			-- References to objects containing an integer value coded on 8 bits

	INTEGER_INTERVAL
			-- Contiguous integer intervals

	INTEGER_INTERVAL
			-- Contiguous integer intervals

	INTEGER_OVERFLOW
			-- Detect Integer Overflow
			-- debug
			-- ToDo: Pre/Post-conditions
			-- end
			-- ToDo: multiply and divide

	INTEGER_OVERFLOW_CHECKER
			-- String - Integer/Natural conversion overflow checker

	INTEGER_OVERFLOW_CHECKER
			-- String - Integer/Natural conversion overflow checker

	INTERACTION
			-- Interaction of two medications.

	INTERACTIVE_LIST* [G]
			-- Sequential, one-way linked lists that call add/remove features
			-- when an item is removed or added.

	INTERACTIVE_LIST* [G]
			-- Sequential, one-way linked lists that call add/remove features
			-- when an item is removed or added.

	INTERNAL
			-- Access to internal object properties.
			-- This class may be used as ancestor by classes needing its facilities.

	INTERNAL
			-- Access to internal object properties.
			-- This class may be used as ancestor by classes needing its facilities.

	INTERNAL_HELPER
			-- Helper for routines in REFLECTOR class.

	INTERNAL_HELPER
			-- Helper for routines in REFLECTOR class.

	INTERVAL [G -> ABSOLUTE]
			-- Intervals between absolute values

	INTERVAL [G -> ABSOLUTE]
			-- Intervals between absolute values

	INT_ADVANCED_TEST
			-- Summary description for {INT_ADVANCED_TESTS}.

	INT_FUNCTION_TEST
			-- A series of test cases for the functions included in the BIG_INTEGER class.
			-- This includes make_from_integer64, make_from_string, zero, one, negate,
			-- absolute, as_integer64, and out. 
			-- as_real64, and round_to."

	INT_LONG_TEST
			-- Testing suite for the BIG_INTEGER Class covering the operation capabilities
			-- on very large numbers.

	INT_PREDICATE_TEST
			-- A series of test cases for the functions included in the BIG_INTEGER class.
			-- This includes is_less, is_greater, is_equal, is_string_int, divisible,
			-- exponentiable, is_natural, is_natural1, and is_integer."

	INT_PRIMARY_OPERATION_TEST
			-- Testing suite for the BIG_INTEGER Class covering the +, -, *, and // operation capabilities.

	INT_SECONDARY_OPERATION_TEST
			-- Testing suite for the BIG_INTEGER Class covering the remainder, power, square, gcd, opposite, and identity operation capabilities.

	INT_VIOLATION_TEST
			-- Testing suite for the BIG_INTEGER Class testing preconditions.

	INVARIANT_VIOLATION
			-- Exception representing an invariant violation

	INVARIANT_VIOLATION
			-- Exception representing an invariant violation

	IO_FAILURE
			-- IO failure

	IO_FAILURE
			-- IO failure

	IO_MEDIUM*
			-- Any medium that can perform input and/or output

	IO_MEDIUM*
			-- Any medium that can perform input and/or output

	ISE_EXCEPTION_MANAGER
			-- Exception manager. 
			-- The manager handles all common operations of exception mechanism and interaction with the ISE runtime.

	ISE_EXCEPTION_MANAGER
			-- Exception manager. 
			-- The manager handles all common operations of exception mechanism and interaction with the ISE runtime.

	ISE_RUNTIME
			-- Set of features to access ISE runtime functionality.
			-- To be used at your own risk.
			-- Interface may changed without notice.

	ISE_RUNTIME
			-- Set of features to access ISE runtime functionality.
			-- To be used at your own risk.
			-- Interface may changed without notice.

	ISE_SCOOP_RUNTIME
			-- Features to access and interact with the SCOOP runtime.

	ISE_SCOOP_RUNTIME
			-- Features to access and interact with the SCOOP runtime.

	ITERABLE* [G]
			-- Structure that can be iterated over using across...loop...end.

	ITERABLE* [G]
			-- Structure that can be iterated over using across...loop...end.

	ITERABLE_ARITHMETIC [G -> NUMERIC create default_create end]
			-- Calculate sum and product of 
			-- iterable collections of numbers

	ITERABLE_ARITHMETIC [G -> NUMERIC create default_create end]
			-- Calculate sum and product of 
			-- iterable collections of numbers

	ITERATION_CURSOR* [G]
			-- External iteration cursor used by across...loop...end.

	ITERATION_CURSOR* [G]
			-- External iteration cursor used by across...loop...end.

	ITERATOR* [G]
			-- Objects that are able to iterate over traversable structures,
			-- on which they can perform repeated actions and tests according
			-- to a number of predefined control structures such as if,
			-- until and others.

	ITERATOR* [G]
			-- Objects that are able to iterate over traversable structures,
			-- on which they can perform repeated actions and tests according
			-- to a number of predefined control structures such as if,
			-- until and others.

	KI_BUFFER* [G]
			-- Interface for buffers

	KI_BUFFER* [G]
			-- Interface for buffers

	KI_CHARACTER_INPUT_STREAM*
			-- Interface for character input streams

	KI_CHARACTER_INPUT_STREAM*
			-- Interface for character input streams

	KI_CHARACTER_OUTPUT_STREAM*
			-- Interface for character output streams

	KI_CHARACTER_OUTPUT_STREAM*
			-- Interface for character output streams

	KI_EXCEPTIONS*
			-- Interface for exception handling

	KI_EXCEPTIONS*
			-- Interface for exception handling

	KI_INPUT_STREAM* [G]
			-- Interface for input streams

	KI_INPUT_STREAM* [G]
			-- Interface for input streams

	KI_OUTPUT_STREAM* [G]
			-- Interface for output streams

	KI_OUTPUT_STREAM* [G]
			-- Interface for output streams

	KI_PLATFORM*
			-- Interface for platform-dependent properties

	KI_PLATFORM*
			-- Interface for platform-dependent properties

	KI_TEXT_OUTPUT_STREAM*
			-- Interface for character output streams with the notion of lines

	KI_TEXT_OUTPUT_STREAM*
			-- Interface for character output streams with the notion of lines

	KL_ANY
			-- Make sure that we don't have name clashes with features from PLATFORM inherited from ANY in SE 1.2

	KL_ANY
			-- Make sure that we don't have name clashes with features from PLATFORM inherited from ANY in SE 1.2

	KL_ANY_ROUTINES
			-- Routines that ought to be in class ANY

	KL_ANY_ROUTINES
			-- Routines that ought to be in class ANY

	KL_ARRAY [G]
			-- Adapters for class ARRAY

	KL_ARRAY [G]
			-- Adapters for class ARRAY

	KL_ARRAY_ROUTINES [G]
			-- Routines that ought to be in class ARRAY

	KL_ARRAY_ROUTINES [G]
			-- Routines that ought to be in class ARRAY

	KL_CELL [G]
			-- Cells containing an item

	KL_CELL [G]
			-- Cells containing an item

	KL_CHARACTER_ROUTINES
			-- Routines that ought to be in class CHARACTER

	KL_CHARACTER_ROUTINES
			-- Routines that ought to be in class CHARACTER

	KL_CLONABLE
			-- Clonable objects

	KL_CLONABLE
			-- Clonable objects

	KL_COMPARABLE*
			-- Objects that may be compared according to a total order relation

	KL_COMPARABLE*
			-- Objects that may be compared according to a total order relation

	KL_DOUBLE_ROUTINES
			-- Routines that ought to be in class DOUBLE

	KL_DOUBLE_ROUTINES
			-- Routines that ought to be in class DOUBLE

	KL_EXCEPTIONS
			-- Exception handling

	KL_EXCEPTIONS
			-- Exception handling

	KL_IMPORTED_ANY_ROUTINES
			-- Imported routines that ought to be in class ANY

	KL_IMPORTED_ANY_ROUTINES
			-- Imported routines that ought to be in class ANY

	KL_IMPORTED_ARRAY_ROUTINES
			-- Imported routines that ought to be in class ARRAY

	KL_IMPORTED_ARRAY_ROUTINES
			-- Imported routines that ought to be in class ARRAY

	KL_IMPORTED_CHARACTER_ROUTINES
			-- Imported routines that ought to be in class CHARACTER

	KL_IMPORTED_CHARACTER_ROUTINES
			-- Imported routines that ought to be in class CHARACTER

	KL_IMPORTED_DOUBLE_ROUTINES
			-- Imported routines that ought to be in class DOUBLE

	KL_IMPORTED_DOUBLE_ROUTINES
			-- Imported routines that ought to be in class DOUBLE

	KL_IMPORTED_INTEGER_ROUTINES
			-- Imported routines that ought to be in class INTEGER

	KL_IMPORTED_INTEGER_ROUTINES
			-- Imported routines that ought to be in class INTEGER

	KL_IMPORTED_STRING_ROUTINES
			-- Imported routines that ought to be in class STRING

	KL_IMPORTED_STRING_ROUTINES
			-- Imported routines that ought to be in class STRING

	KL_INTEGER_ROUTINES
			-- Routines that ought to be in class INTEGER

	KL_INTEGER_ROUTINES
			-- Routines that ought to be in class INTEGER

	KL_NUMERIC*
			-- Properties of numeric types

	KL_NUMERIC*
			-- Properties of numeric types

	KL_PART_COMPARABLE*
			-- Objects that may be compared according to a partial order relation

	KL_PART_COMPARABLE*
			-- Objects that may be compared according to a partial order relation

	KL_PLATFORM
			-- Platform-dependent properties

	KL_PLATFORM
			-- Platform-dependent properties

	KL_SHARED_EXCEPTIONS
			-- Shared exception handling

	KL_SHARED_EXCEPTIONS
			-- Shared exception handling

	KL_SHARED_PLATFORM
			-- Shared platform-dependent properties

	KL_SHARED_PLATFORM
			-- Shared platform-dependent properties

	KL_SPECIAL_ROUTINES [G]
			-- Routines that ought to be in class SPECIAL. A special object is a zero-based indexed sequence of values, equipped with features put, item and count.

	KL_SPECIAL_ROUTINES [G]
			-- Routines that ought to be in class SPECIAL. A special object is a zero-based indexed sequence of values, equipped with features put, item and count.

	KL_STRING
			-- Adapters for class STRING during the transition period from infix/prefix to alias

	KL_STRING
			-- Adapters for class STRING during the transition period from infix/prefix to alias

	KL_STRING_ROUTINES
			-- Routines that ought to be in class STRING

	KL_STRING_ROUTINES
			-- Routines that ought to be in class STRING

	KL_TYPE [G]
			-- Operations of objects of a given type (the generic parameter).

	KL_TYPE [G]
			-- Operations of objects of a given type (the generic parameter).

	LAMPSORT [G -> COMPARABLE]
			-- Quicksort according to Lamport/Meyer.
			-- The Lampsort algorithm is a simple loop; it does not use recursion, 
			-- but relies on an interesting data structure, a set of intervals. 
			-- It is hardly more difficult to understand, 
			-- and hardly shorter, than the traditional recursive version.
			-- the recursive version, and its parallelized variants, 
			-- are only examples of possible implementations

	LANGUAGE_EXCEPTION*
			-- Eiffel language exception

	LANGUAGE_EXCEPTION*
			-- Eiffel language exception

	LINEAR* [G]
			-- Structures whose items may be accessed sequentially, one-way

	LINEAR* [G]
			-- Structures whose items may be accessed sequentially, one-way

	LINEAR_ITERATOR [G]
			-- Objects that are able to iterate over linear structures

	LINEAR_ITERATOR [G]
			-- Objects that are able to iterate over linear structures

	LINEAR_SUBSET* [G]
			-- Subsets that are traversable linearly without commitment to a concrete
			-- implementation.

	LINEAR_SUBSET* [G]
			-- Subsets that are traversable linearly without commitment to a concrete
			-- implementation.

	LINKABLE [G]
			-- Linkable cells containing a reference to their right neighbor

	LINKABLE [G]
			-- Linkable cells containing a reference to their right neighbor

	LINKED_CIRCULAR [G]
			-- Circular chains implemented as linked lists

	LINKED_CIRCULAR [G]
			-- Circular chains implemented as linked lists

	LINKED_LIST [G]
			-- Sequential, one-way linked lists

	LINKED_LIST [G]
			-- Sequential, one-way linked lists

	LINKED_LIST_CURSOR [G]
			-- Cursors for linked lists

	LINKED_LIST_CURSOR [G]
			-- Cursors for linked lists

	LINKED_LIST_ITERATION_CURSOR [G]
			-- Concrete of an external iteration cursor for LINKED_LIST. Reversed traversal has a (n (n + 1)) / 2 operations cost.

	LINKED_LIST_ITERATION_CURSOR [G]
			-- Concrete of an external iteration cursor for LINKED_LIST. Reversed traversal has a (n (n + 1)) / 2 operations cost.

	LINKED_PRIORITY_QUEUE [G -> COMPARABLE]
			-- Priority queues implemented as sorted lists

	LINKED_PRIORITY_QUEUE [G -> COMPARABLE]
			-- Priority queues implemented as sorted lists

	LINKED_QUEUE [G]
			-- Unbounded queues implemented as linked lists

	LINKED_QUEUE [G]
			-- Unbounded queues implemented as linked lists

	LINKED_SET [G]
			-- Sets implemented by linked lists

	LINKED_SET [G]
			-- Sets implemented by linked lists

	LINKED_STACK [G]
			-- Unbounded stacks implemented as linked lists

	LINKED_STACK [G]
			-- Unbounded stacks implemented as linked lists

	LINKED_TREE [G]
			-- Trees implemented using a linked list representation

	LINKED_TREE [G]
			-- Trees implemented using a linked list representation

	LINKED_TREE_CURSOR [G]
			-- Cursors for linked trees

	LINKED_TREE_CURSOR [G]
			-- Cursors for linked trees

	LINKED_TREE_ITERATION_CURSOR [G]
			-- External forward iteration cursor for descendants of LINKED_TREE.

	LINKED_TREE_ITERATION_CURSOR [G]
			-- External forward iteration cursor for descendants of LINKED_TREE.

	LIST* [G]
			-- Sequential lists, without commitment to a particular representation

	LIST* [G]
			-- Sequential lists, without commitment to a particular representation

	LOOP_INVARIANT_VIOLATION
			-- Exception raised for violated loop invariant

	LOOP_INVARIANT_VIOLATION
			-- Exception raised for violated loop invariant

	MACHINE_EXCEPTION*
			-- Deferred class for machine exception, operation exceptions and hardware exceptions

	MACHINE_EXCEPTION*
			-- Deferred class for machine exception, operation exceptions and hardware exceptions

	MANAGED_POINTER
			-- To easily manage allocation and release of allocated C memory, and
			-- to perform insertion of basic elements. Byte order is by default
			-- platform specific.
			-- Although memory allocation routines do not accept a zero sized pointer
			-- MANAGED_POINTER does by allocating in fact a 1 byte sized pointer for
			-- this particular case.

	MANAGED_POINTER
			-- To easily manage allocation and release of allocated C memory, and
			-- to perform insertion of basic elements. Byte order is by default
			-- platform specific.
			-- Although memory allocation routines do not accept a zero sized pointer
			-- MANAGED_POINTER does by allocating in fact a 1 byte sized pointer for
			-- this particular case.

	MATH_CONST
			-- Basic mathematical constants.
			-- This class may be used as ancestor by classes needing its facilities.

	MATH_CONST
			-- Basic mathematical constants.
			-- This class may be used as ancestor by classes needing its facilities.

	MA_DECIMAL
			-- DECIMAL numbers. Following the 'General Decimal Arithmetic Specification'.

	MA_DECIMAL
			-- DECIMAL numbers. Following the 'General Decimal Arithmetic Specification'.

	MA_DECIMAL_COEFFICIENT*
			-- Decimal coefficients. They hold the significant digits. Can be seen as arrays of decimal values. Zero-based index. - Index '0' is the least significant digit, - index 'count-'1 is the most significant digit.

	MA_DECIMAL_COEFFICIENT*
			-- Decimal coefficients. They hold the significant digits. Can be seen as arrays of decimal values. Zero-based index. - Index '0' is the least significant digit, - index 'count-'1 is the most significant digit.

	MA_DECIMAL_COEFFICIENT_IMP
			-- Simple implementation of coefficients using a native array of characters

	MA_DECIMAL_COEFFICIENT_IMP
			-- Simple implementation of coefficients using a native array of characters

	MA_DECIMAL_CONSTANTS
			-- Access to decimal math constants and shared context

	MA_DECIMAL_CONSTANTS
			-- Access to decimal math constants and shared context

	MA_DECIMAL_CONTEXT
			-- User selectable parameters and rules which govern the results of decimal arithmetic operations

	MA_DECIMAL_CONTEXT
			-- User selectable parameters and rules which govern the results of decimal arithmetic operations

	MA_DECIMAL_CONTEXT_CONSTANTS
			-- Context constants for the Decimal Arithmetic library

	MA_DECIMAL_CONTEXT_CONSTANTS
			-- Context constants for the Decimal Arithmetic library

	MA_DECIMAL_PARSER*
			-- Decimal number parsers

	MA_DECIMAL_PARSER*
			-- Decimal number parsers

	MA_DECIMAL_TEXT_PARSER
			-- Decimal number parsers, whose BNF syntax follows:  
			--  sign ::= '+' | '-' 
			--  digit ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' 
			--  indicator ::= 'e' | 'E' 
			--  digits ::= digit [digit]... 
			--  point ::= '.' | ',' 
			--  decimal-part ::= digits point [digits] | [point] digits 
			--  exponent-part ::= indicator [sign] digits 
			--  infinity ::= 'Infinity' | 'Inf' 
			--  nan ::= 'NaN' | 'sNaN' 
			--  numeric-value ::= decimal-part [exponent-part] | infinity 
			--  numeric-string ::= [sign] numeric-value | nan
			-- 

	MA_DECIMAL_TEXT_PARSER
			-- Decimal number parsers, whose BNF syntax follows:  
			--  sign ::= '+' | '-' 
			--  digit ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' 
			--  indicator ::= 'e' | 'E' 
			--  digits ::= digit [digit]... 
			--  point ::= '.' | ',' 
			--  decimal-part ::= digits point [digits] | [point] digits 
			--  exponent-part ::= indicator [sign] digits 
			--  infinity ::= 'Infinity' | 'Inf' 
			--  nan ::= 'NaN' | 'sNaN' 
			--  numeric-value ::= decimal-part [exponent-part] | infinity 
			--  numeric-string ::= [sign] numeric-value | nan
			-- 

	MA_SHARED_DECIMAL_CONSTANTS
			-- Shared decimal math constants

	MA_SHARED_DECIMAL_CONSTANTS
			-- Shared decimal math constants

	MA_SHARED_DECIMAL_CONTEXT
			-- Access to the shared decimal context; used to be a singleton

	MA_SHARED_DECIMAL_CONTEXT
			-- Access to the shared decimal context; used to be a singleton

	MEDICATION
			-- Medications

	MEMORY
			-- Facilities for tuning up the garbage collection mechanism.
			-- This class may be used as ancestor by classes needing its facilities.

	MEMORY
			-- Facilities for tuning up the garbage collection mechanism.
			-- This class may be used as ancestor by classes needing its facilities.

	MEMORY_STREAM
			-- Stream of data stored in non Eiffel memory

	MEMORY_STREAM
			-- Stream of data stored in non Eiffel memory

	MEMORY_STRUCTURE*
			-- Representation of a memory structure.

	MEMORY_STRUCTURE*
			-- Representation of a memory structure.

	MEM_CONST
			-- Constants used by memory management.
			-- This class may be used as ancestor by classes needing its facilities.

	MEM_CONST
			-- Constants used by memory management.
			-- This class may be used as ancestor by classes needing its facilities.

	MEM_INFO
			-- Properties of the memory management mechanism.
			-- This class may be used as ancestor by classes needing its facilities.

	MEM_INFO
			-- Properties of the memory management mechanism.
			-- This class may be used as ancestor by classes needing its facilities.

	MISMATCH_CORRECTOR
			-- Ancestor of all classes that need facility to retrieve an older version of an instance of current
			-- class through storable.
			-- Redefine correct_mismatch to get data from mismatch_information about found mismatch. A mismatch
			-- might be the addition or the removal of an attribute as well as an attribute type change.

	MISMATCH_CORRECTOR
			-- Ancestor of all classes that need facility to retrieve an older version of an instance of current
			-- class through storable.
			-- Redefine correct_mismatch to get data from mismatch_information about found mismatch. A mismatch
			-- might be the addition or the removal of an attribute as well as an attribute type change.

	MISMATCH_FAILURE
			-- Exception for retrieval error, 
			-- may be raised by retrieved in IO_MEDIUM.

	MISMATCH_FAILURE
			-- Exception for retrieval error, 
			-- may be raised by retrieved in IO_MEDIUM.

	MISMATCH_INFORMATION
			-- Original values of the attributes of a mismatched object.

	MISMATCH_INFORMATION
			-- Original values of the attributes of a mismatched object.

	MONEY
			-- Efficient value type for handling money objects
			-- in dollars and cents, with precision 
			-- and safety in plus and minus operators.
			-- See end of class for specification.

	MONEY_ARRAY
			-- Summary description for MONEY_ARRAY.

	MULTAR_LIST_CURSOR [G]
			-- Cursors for multi-array trees

	MULTAR_LIST_CURSOR [G]
			-- Cursors for multi-array trees

	MULTI_ARRAY_LIST [G]
			-- Lists implemented as sequences of arrays, the last of which may
			-- be non-full. No limit on size (a new array is allocated if list
			-- outgrows its initial allocation).

	MULTI_ARRAY_LIST [G]
			-- Lists implemented as sequences of arrays, the last of which may
			-- be non-full. No limit on size (a new array is allocated if list
			-- outgrows its initial allocation).

	MUTEX
			-- Mutex synchronization object, allows threads to access global data through critical sections. Mutexes are recursive.

	MUTEX
			-- Mutex synchronization object, allows threads to access global data through critical sections. Mutexes are recursive.

	MY_PRIORITY_QUEUE [G -> COMPARABLE]
			-- Summary description for MY_PRIORITY_QUEUE.

	MY_PRIORITY_QUEUE [G -> COMPARABLE]
			-- Summary description for MY_PRIORITY_QUEUE.

	NATIVE_ARRAY [G]
			-- Fake abstraction of a .NET NATIVE_ARRAY in a non-.NET system

	NATIVE_ARRAY [G]
			-- Fake abstraction of a .NET NATIVE_ARRAY in a non-.NET system

	NATIVE_STRING
			-- Platform specific encoding of Unicode strings. By default, UTF-8 on unix or UTF-16 on Windows.
			-- 
			-- Mixed-encoding consideration
			-- ============================
			-- 
			-- Most operating systems have conventions for strings that are incompatible with Unicode.
			-- On UNIX, a string is just a null-terminated byte sequence, it does not follow any
			-- specific encoding. Usually the locale setting enables you to see the string the way
			-- you expect.
			-- On Windows, the sequence of names is made of null-terminated UTF-16 code unit sequence. Windows
			-- does not guarantee that the sequence is actually a valid UTF-16 sequence.
			-- 
			-- In other words, when there is an invalid UTF-8 encoding on UNIX, or an invalid UTF-16 encoding
			-- on Windows, the string is not directly representable as a Unicode string. To make it possible
			-- to create and store strings in a textually representable form, the query string will create
			-- an encoded representation that can be then later used in make to create a NATIVE_STRING
			-- equivalent to the original string. The encoding is described in UTF_CONVERTER's note clause
			-- and is a fourth variant of the recommended practice for replacement characters in Unicode
			-- (see http://www.unicode.org/review/pr-121.html).
			-- 

	NATIVE_STRING
			-- Platform specific encoding of Unicode strings. By default, UTF-8 on unix or UTF-16 on Windows.
			-- 
			-- Mixed-encoding consideration
			-- ============================
			-- 
			-- Most operating systems have conventions for strings that are incompatible with Unicode.
			-- On UNIX, a string is just a null-terminated byte sequence, it does not follow any
			-- specific encoding. Usually the locale setting enables you to see the string the way
			-- you expect.
			-- On Windows, the sequence of names is made of null-terminated UTF-16 code unit sequence. Windows
			-- does not guarantee that the sequence is actually a valid UTF-16 sequence.
			-- 
			-- In other words, when there is an invalid UTF-8 encoding on UNIX, or an invalid UTF-16 encoding
			-- on Windows, the string is not directly representable as a Unicode string. To make it possible
			-- to create and store strings in a textually representable form, the query string will create
			-- an encoded representation that can be then later used in make to create a NATIVE_STRING
			-- equivalent to the original string. The encoding is described in UTF_CONVERTER's note clause
			-- and is a fourth variant of the recommended practice for replacement characters in Unicode
			-- (see http://www.unicode.org/review/pr-121.html).
			-- 

	NATIVE_STRING_HANDLER
			-- Objects that can access low level features of {FILE_INFO} to access the underlying operating system encoding of file names.

	NATIVE_STRING_HANDLER
			-- Objects that can access low level features of {FILE_INFO} to access the underlying operating system encoding of file names.

	NATURAL_16
			-- Unsigned integer values coded on 16 bits

	NATURAL_16
			-- Unsigned integer values coded on 16 bits

	NATURAL_16_REF
			-- References to objects containing an unsigned integer value coded on 16 bits.

	NATURAL_16_REF
			-- References to objects containing an unsigned integer value coded on 16 bits.

	NATURAL_32
			-- Unsigned integer values coded on 32 bits.

	NATURAL_32
			-- Unsigned integer values coded on 32 bits.

	NATURAL_32_REF
			-- References to objects containing an unsigned integer value coded on 32 bits.

	NATURAL_32_REF
			-- References to objects containing an unsigned integer value coded on 32 bits.

	NATURAL_64
			-- Unsigned integer values coded on 64 bits

	NATURAL_64
			-- Unsigned integer values coded on 64 bits

	NATURAL_64_REF
			-- References to objects containing an unsigned integer value coded on 64 bits.

	NATURAL_64_REF
			-- References to objects containing an unsigned integer value coded on 64 bits.

	NATURAL_8
			-- Integer values coded on 8 bits

	NATURAL_8
			-- Integer values coded on 8 bits

	NATURAL_8_REF
			-- References to objects containing an unsigned integer value coded on 8 bits.

	NATURAL_8_REF
			-- References to objects containing an unsigned integer value coded on 8 bits.

	NO_MORE_MEMORY
			-- Exception raised when no more memory can be allocated.

	NO_MORE_MEMORY
			-- Exception raised when no more memory can be allocated.

	NUMERIC*
			-- Objects to which numerical operations are applicable
			-- Note: The model is that of a commutative ring.

	NUMERIC*
			-- Objects to which numerical operations are applicable
			-- Note: The model is that of a commutative ring.

	NUMERIC_INFORMATION
			-- Information about integer, natural and real type in Eiffel

	NUMERIC_INFORMATION
			-- Information about integer, natural and real type in Eiffel

	NUMERIC_ITERABLE [G -> attached ANY]
			-- Summation over a collection according to an integer expression

	NUMERIC_ITERABLE [G -> attached ANY]
			-- Summation over a collection according to an integer expression

	NUM_ARRAY [G -> {COMPARABLE rename copy as comparable_copy, default_create as comparable_default_create, out as comparable_out, twin as comparable_twin end, NUMERIC} create default_create end]
			-- Numerical array with sum and product

	OBJECT_GRAPH_BREADTH_FIRST_TRAVERSABLE
			-- Objects that traverse object graphs starting at the root object in a breadth first manner.

	OBJECT_GRAPH_BREADTH_FIRST_TRAVERSABLE
			-- Objects that traverse object graphs starting at the root object in a breadth first manner.

	OBJECT_GRAPH_DEPTH_FIRST_TRAVERSABLE
			-- Objects that traverse object graphs starting at the root object in a depth first manner.

	OBJECT_GRAPH_DEPTH_FIRST_TRAVERSABLE
			-- Objects that traverse object graphs starting at the root object in a depth first manner.

	OBJECT_GRAPH_MARKER
			-- Facility to mark objects once when traversing an object graph.

	OBJECT_GRAPH_MARKER
			-- Facility to mark objects once when traversing an object graph.

	OBJECT_GRAPH_TRAVERSABLE*
			-- Utility class to traverse object graphs starting at a root object.
			-- 
			-- 
			-- When traversing a graph the class distinguishes four different types of references:
			-- 
			-- (1) Normal references
			-- (2) References with copy-semantics, which are usually seen when attaching 
			-- an expanded object to an ANY reference
			-- (3) User-defined expanded objects, embedded inside another object. 
			-- Semantically this is a special case of a copy-semantics reference.
			-- (4) Language-defined expanded objects (INTEGER, POINTER etc) embedded inside another object. 
			-- Semantically, this is a special case of a copy-semantics reference.
			-- 
			-- This class will follow all reference types except (4). 
			-- 
			-- During traversal the agent on_processing_object_action will be called for each object
			-- and the agent on_processing_reference_action for each reference, if present. This includes
			-- references to objects that have already been processed.
			-- 
			-- The algorighm has two output values: visited_objects and visited_types:
			-- Any standard object without copy-semantics (i.e. reference type (1)) will be stored
			-- by aliasing inside visited_object. For references of type (2) and (3) a copy will be stored.
			-- The visited_types hash table contains the dynamic type id of all types encountered during 
			-- traversal. The key and value in the hashtable are the same.
			-- 
			-- Setting is_skip_copy_semantics_reference to true means that references of (2) and (3) will
			-- not be stored in visited_types. Note that this is the only effect of this setting - i.e.
			-- the traversal algorithm will still follow the references, the agents will be called, and the
			-- visited_types array will be extended anyway.
			-- 
			-- NOTE:
			-- 
			-- Due to a limitation in the reflection library, references of type (2) and (3) within TUPLE 
			-- and references of type (3) within SPECIAL cannot be handled without causing a copy. This is 
			-- problematic for agents, especially when they want to change the object. Therefore
			-- the algorithm will raise an exception when an agent is attached.
			-- In read-only situations it may be acceptable to use a copy of an object. Therefore to disable the
			-- exception behaviour you can set is_exception_on_copy_suppressed to True.
			-- 
			-- NOTE:
			-- 
			-- To maintain backwards compatibility the traversal algorithm will silently ignore any kind of 
			-- exception and just return normally, with traversed_objects set to whatever value it had before 
			-- invoking traverse. In order to get exceptions you need to set is_exception_propagated to True.

	OBJECT_GRAPH_TRAVERSABLE*
			-- Utility class to traverse object graphs starting at a root object.
			-- 
			-- 
			-- When traversing a graph the class distinguishes four different types of references:
			-- 
			-- (1) Normal references
			-- (2) References with copy-semantics, which are usually seen when attaching 
			-- an expanded object to an ANY reference
			-- (3) User-defined expanded objects, embedded inside another object. 
			-- Semantically this is a special case of a copy-semantics reference.
			-- (4) Language-defined expanded objects (INTEGER, POINTER etc) embedded inside another object. 
			-- Semantically, this is a special case of a copy-semantics reference.
			-- 
			-- This class will follow all reference types except (4). 
			-- 
			-- During traversal the agent on_processing_object_action will be called for each object
			-- and the agent on_processing_reference_action for each reference, if present. This includes
			-- references to objects that have already been processed.
			-- 
			-- The algorighm has two output values: visited_objects and visited_types:
			-- Any standard object without copy-semantics (i.e. reference type (1)) will be stored
			-- by aliasing inside visited_object. For references of type (2) and (3) a copy will be stored.
			-- The visited_types hash table contains the dynamic type id of all types encountered during 
			-- traversal. The key and value in the hashtable are the same.
			-- 
			-- Setting is_skip_copy_semantics_reference to true means that references of (2) and (3) will
			-- not be stored in visited_types. Note that this is the only effect of this setting - i.e.
			-- the traversal algorithm will still follow the references, the agents will be called, and the
			-- visited_types array will be extended anyway.
			-- 
			-- NOTE:
			-- 
			-- Due to a limitation in the reflection library, references of type (2) and (3) within TUPLE 
			-- and references of type (3) within SPECIAL cannot be handled without causing a copy. This is 
			-- problematic for agents, especially when they want to change the object. Therefore
			-- the algorithm will raise an exception when an agent is attached.
			-- In read-only situations it may be acceptable to use a copy of an object. Therefore to disable the
			-- exception behaviour you can set is_exception_on_copy_suppressed to True.
			-- 
			-- NOTE:
			-- 
			-- To maintain backwards compatibility the traversal algorithm will silently ignore any kind of 
			-- exception and just return normally, with traversed_objects set to whatever value it had before 
			-- invoking traverse. In order to get exceptions you need to set is_exception_propagated to True.

	OBSOLETE_EXCEPTION*
			-- Obsolete exception

	OBSOLETE_EXCEPTION*
			-- Obsolete exception

	OLD_VIOLATION
			-- Exception raised when an old expression evaluation failure was recorded and the expression access is attempted in postcondition.

	OLD_VIOLATION
			-- Exception raised when an old expression evaluation failure was recorded and the expression access is attempted in postcondition.

	OPERATING_ENVIRONMENT
			-- The objects available from the operating system

	OPERATING_ENVIRONMENT
			-- The objects available from the operating system

	OPERATING_SYSTEM_EXCEPTION*
			-- Operating system exception

	OPERATING_SYSTEM_EXCEPTION*
			-- Operating system exception

	OPERATING_SYSTEM_FAILURE
			-- Operating system failure

	OPERATING_SYSTEM_FAILURE
			-- Operating system failure

	OPERATING_SYSTEM_SIGNAL_FAILURE
			-- Operating system signal failure

	OPERATING_SYSTEM_SIGNAL_FAILURE
			-- Operating system signal failure

	PAIR [G -> attached ANY, H -> attached ANY]
			-- Pairs.

	PAIR [G -> attached ANY, H -> attached ANY]
			-- Pairs.

	PART_COMPARABLE*
			-- Objects that may be compared according to a partial order relation

	PART_COMPARABLE*
			-- Objects that may be compared according to a partial order relation

	PART_SORTED_LIST* [G -> PART_COMPARABLE]
			-- Sequential lists whose items are sorted in ascending order
			-- according to the relational operators of PART_COMPARABLE

	PART_SORTED_LIST* [G -> PART_COMPARABLE]
			-- Sequential lists whose items are sorted in ascending order
			-- according to the relational operators of PART_COMPARABLE

	PART_SORTED_SET [G -> PART_COMPARABLE]
			-- Sets whose items may be compared according to a partial order relation
			-- implemented as sorted two-way lists.

	PART_SORTED_SET [G -> PART_COMPARABLE]
			-- Sets whose items may be compared according to a partial order relation
			-- implemented as sorted two-way lists.

	PART_SORTED_TWO_WAY_LIST [G -> PART_COMPARABLE]
			-- Two-way lists, kept sorted

	PART_SORTED_TWO_WAY_LIST [G -> PART_COMPARABLE]
			-- Two-way lists, kept sorted

	PATH
			-- Objects representing a path, i.e. a way to identify a file or a directory for the
			-- current underlying platform. A path is made of two components:
			-- 1 - an optional root which can either be:
			-- a - a drive letter followed by colon on Windows, i.e. "C:" or "C:\"
			-- b - "/" for UNIX root directory.
			-- c - "\" for Windows root directory.
			-- d - "\\server\share" or "\\server\share\" for Microsoft UNC path.
			-- 2 - a sequence of zero or more names.
			-- 
			-- A path is absolute if it has a root, and on windows if the root is a drive, then it should
			-- be followed by "\". Otherwise a path is relative.
			-- 
			-- 
			-- Validity
			-- ========
			-- 
			-- The current class will not check the validity of filenames. Check your file
			-- system for your operating system manual for the list of invalid characters.
			-- 
			-- 
			-- Windows consideration
			-- =====================
			-- 
			-- When the root of a Windows path is a drive, be aware of the following behavior:
			-- 1 - "C:filename.txt" refers to the file name "filename.txt" in the current directory 
			--     on drive "C:".
			-- 2 - "C:sub\filename.txt" refers to the file name "filename.txt" in a subdirectory "sub"
			--     of the current directory on drive "C:".
			-- 3 - "C:\sub\filename.txt" refers to the file name "filename.txt" in a subdirectory "sub"
			--     located at the root of the drive "C:".
			-- 
			-- Both forward and backslashes are accepted, but forward slashes are internally converted
			-- to backward slashes whenever they are used to construct a path.
			-- 
			-- On Windows, there is a limit of 259 characters for a path. If you need to create a larger
			-- path, you can do so by using the following conventions which will let you have paths of
			-- about 32,767 characters:
			-- 1 - Use \\?\ for non-UNC path and let the rest unchanged.
			-- 2 - Use \\?\UNC\server\share for UNC path and let the rest unchanged.
			-- The above path cannot be used to specify a relative path.
			-- 
			-- To know more about Windows paths, read the "Naming Files, Paths, and Namespaces"
			-- document located at:
			--   http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
			-- 
			-- 
			-- Unicode consideration
			-- =====================
			-- 
			-- The PATH class treats strings as sequence of Unicode characters, i.e. an instance of 
			-- a READABLE_STRING_8 or descendant will be treated as if characters in the range
			-- 128 .. 255 were Unicode code points.
			-- This contrasts to the FILE/DIRECTORY classes where to preserve backward compatibility, those
			-- characters are treated as is.
			-- 
			-- 
			-- Mixed-encoding consideration
			-- ============================
			-- 
			-- Most operating systems have conventions for paths that are incompatible with Unicode.
			-- On UNIX, in a sequence of names, each name is just a null-terminated byte sequence, it
			-- does not follow any specific encoding. Usually the locale setting enables you to see
			-- the filename the way you expect.
			-- On Windows, the sequence of names is made of null-terminated UTF-16 code unit sequence. Windows
			-- does not guarantee that the sequence is actually a valid UTF-16 sequence.
			-- 
			-- In other words, when there is an invalid UTF-8 encoding on UNIX, or an invalid UTF-16 encoding
			-- on Windows, the filename is not directly representable as a Unicode string. To make it possible
			-- to create and store paths in a textually representable form, the query name will create
			-- an encoded representation that can be then later used in make_from_string to create a PATH
			-- equivalent to the original path. The encoding is described in UTF_CONVERTER's note clause
			-- and is a fourth variant of the recommended practice for replacement characters in Unicode
			-- (see http://www.unicode.org/review/pr-121.html).
			-- 
			-- 
			-- Immutability
			-- ============
			-- 
			-- Instances of the current class are immutable.

	PATH
			-- Objects representing a path, i.e. a way to identify a file or a directory for the
			-- current underlying platform. A path is made of two components:
			-- 1 - an optional root which can either be:
			-- a - a drive letter followed by colon on Windows, i.e. "C:" or "C:\"
			-- b - "/" for UNIX root directory.
			-- c - "\" for Windows root directory.
			-- d - "\\server\share" or "\\server\share\" for Microsoft UNC path.
			-- 2 - a sequence of zero or more names.
			-- 
			-- A path is absolute if it has a root, and on windows if the root is a drive, then it should
			-- be followed by "\". Otherwise a path is relative.
			-- 
			-- 
			-- Validity
			-- ========
			-- 
			-- The current class will not check the validity of filenames. Check your file
			-- system for your operating system manual for the list of invalid characters.
			-- 
			-- 
			-- Windows consideration
			-- =====================
			-- 
			-- When the root of a Windows path is a drive, be aware of the following behavior:
			-- 1 - "C:filename.txt" refers to the file name "filename.txt" in the current directory 
			--     on drive "C:".
			-- 2 - "C:sub\filename.txt" refers to the file name "filename.txt" in a subdirectory "sub"
			--     of the current directory on drive "C:".
			-- 3 - "C:\sub\filename.txt" refers to the file name "filename.txt" in a subdirectory "sub"
			--     located at the root of the drive "C:".
			-- 
			-- Both forward and backslashes are accepted, but forward slashes are internally converted
			-- to backward slashes whenever they are used to construct a path.
			-- 
			-- On Windows, there is a limit of 259 characters for a path. If you need to create a larger
			-- path, you can do so by using the following conventions which will let you have paths of
			-- about 32,767 characters:
			-- 1 - Use \\?\ for non-UNC path and let the rest unchanged.
			-- 2 - Use \\?\UNC\server\share for UNC path and let the rest unchanged.
			-- The above path cannot be used to specify a relative path.
			-- 
			-- To know more about Windows paths, read the "Naming Files, Paths, and Namespaces"
			-- document located at:
			--   http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
			-- 
			-- 
			-- Unicode consideration
			-- =====================
			-- 
			-- The PATH class treats strings as sequence of Unicode characters, i.e. an instance of 
			-- a READABLE_STRING_8 or descendant will be treated as if characters in the range
			-- 128 .. 255 were Unicode code points.
			-- This contrasts to the FILE/DIRECTORY classes where to preserve backward compatibility, those
			-- characters are treated as is.
			-- 
			-- 
			-- Mixed-encoding consideration
			-- ============================
			-- 
			-- Most operating systems have conventions for paths that are incompatible with Unicode.
			-- On UNIX, in a sequence of names, each name is just a null-terminated byte sequence, it
			-- does not follow any specific encoding. Usually the locale setting enables you to see
			-- the filename the way you expect.
			-- On Windows, the sequence of names is made of null-terminated UTF-16 code unit sequence. Windows
			-- does not guarantee that the sequence is actually a valid UTF-16 sequence.
			-- 
			-- In other words, when there is an invalid UTF-8 encoding on UNIX, or an invalid UTF-16 encoding
			-- on Windows, the filename is not directly representable as a Unicode string. To make it possible
			-- to create and store paths in a textually representable form, the query name will create
			-- an encoded representation that can be then later used in make_from_string to create a PATH
			-- equivalent to the original path. The encoding is described in UTF_CONVERTER's note clause
			-- and is a fourth variant of the recommended practice for replacement characters in Unicode
			-- (see http://www.unicode.org/review/pr-121.html).
			-- 
			-- 
			-- Immutability
			-- ============
			-- 
			-- Instances of the current class are immutable.

	PATH_NAME*
			-- Path name abstraction

	PATH_NAME*
			-- Path name abstraction

	PATIENT
			-- Patients.

	PERSON
			-- People

	PLAIN_TEXT_FILE
			-- Files viewed as persistent sequences of ASCII characters

	PLAIN_TEXT_FILE
			-- Files viewed as persistent sequences of ASCII characters

	PLATFORM
			-- Platform-dependent properties.

	PLATFORM
			-- Platform-dependent properties.

	PLUS_ONE
			-- Summary description for {PLUSONE}.

	POINTER
			-- References to objects meant to be exchanged with non-Eiffel software.

	POINTER
			-- References to objects meant to be exchanged with non-Eiffel software.

	POINTER_REF
			-- References to objects containing reference to object
			-- meant to be exchanged with non-Eiffel software.

	POINTER_REF
			-- References to objects containing reference to object
			-- meant to be exchanged with non-Eiffel software.

	POSTCONDITION_VIOLATION
			-- Exception representing a postcondition violation

	POSTCONDITION_VIOLATION
			-- Exception representing a postcondition violation

	PRECONDITION_VIOLATION
			-- Exception representing an precondition violation.

	PRECONDITION_VIOLATION
			-- Exception representing an precondition violation.

	PREDICATE [OPEN_ARGS -> detachable TUPLE create default_create end]
			-- Objects representing delayed calls to a boolean function,
			-- with some arguments possibly still open.

	PREDICATE [OPEN_ARGS -> detachable TUPLE create default_create end]
			-- Objects representing delayed calls to a boolean function,
			-- with some arguments possibly still open.

	PRIMES
			-- Prime number properties

	PRIMES
			-- Prime number properties

	PRIORITY_QUEUE* [G -> PART_COMPARABLE]
			-- Priority queues, without commitment to a particular representation

	PRIORITY_QUEUE* [G -> PART_COMPARABLE]
			-- Priority queues, without commitment to a particular representation

	PROCEDURE [OPEN_ARGS -> detachable TUPLE create default_create end]
			-- Objects representing delayed calls to a procedure.
			-- with some operands possibly still open.
			-- 
			-- Note: Features are the same as those of ROUTINE,
			-- with apply made effective, and no further
			-- redefinition of is_equal and copy.

	PROCEDURE [OPEN_ARGS -> detachable TUPLE create default_create end]
			-- Objects representing delayed calls to a procedure.
			-- with some operands possibly still open.
			-- 
			-- Note: Features are the same as those of ROUTINE,
			-- with apply made effective, and no further
			-- redefinition of is_equal and copy.

	PROFILING_SETTING
			-- Objects that manage the Eiffel profiler. You can start and
			-- stop the Eiffel profiler whenever you want to. It only works
			-- if profile (yes) is enabled in your project configuration file.
			-- Also disabling the profiler should be done at the same place
			-- where you enabled it otherwise you might corrupt the profiling data.
			-- To use this functionality effectively, make sure that the first instruction
			-- in your program calls stop_profiling, and that the last executed instruction
			-- calls start_profiling, otherwise no profile information will be generated.

	PROFILING_SETTING
			-- Objects that manage the Eiffel profiler. You can start and
			-- stop the Eiffel profiler whenever you want to. It only works
			-- if profile (yes) is enabled in your project configuration file.
			-- Also disabling the profiler should be done at the same place
			-- where you enabled it otherwise you might corrupt the profiling data.
			-- To use this functionality effectively, make sure that the first instruction
			-- in your program calls stop_profiling, and that the last executed instruction
			-- calls start_profiling, otherwise no profile information will be generated.

	PROXY_COMPARABLE [G]
			-- Holder for non-comparable objects used for pseudo-comparison
			-- with others via the use of a custom comparator.

	PROXY_COMPARABLE [G]
			-- Holder for non-comparable objects used for pseudo-comparison
			-- with others via the use of a custom comparator.

	EIFFEL_QUEUE* [G]
			-- Queues (first-in, first-out dispensers), without commitment 
			-- to a particular representation

	QUEUE [G -> attached ANY]
			-- Not immutable yet. 
			-- Adapt base ARRAYED_QUEUE[G] to usual queue ADT:
			-- Queries⥯128/ Tcount: INTEGER
			-- first: G⥯128/ Thas (g: G): BOOLEAN⥯128/ Tis_empty: BOOLEAN⥯128/ Tlast: G⥯128/ ommands⥯128/ Tdequeue⥯128/ Tenqueue (g: G)
			-- Attached and object comparison is set.
			-- Classical contracts only

	EIFFEL_QUEUE* [G]
			-- Queues (first-in, first-out dispensers), without commitment 
			-- to a particular representation

	QUEUE [G -> attached ANY]
			-- Not immutable yet. 
			-- Adapt base ARRAYED_QUEUE[G] to usual queue ADT:
			-- Queries⥯128/ Tcount: INTEGER
			-- first: G⥯128/ Thas (g: G): BOOLEAN⥯128/ Tis_empty: BOOLEAN⥯128/ Tlast: G⥯128/ ommands⥯128/ Tdequeue⥯128/ Tenqueue (g: G)
			-- Attached and object comparison is set.
			-- Classical contracts only

	RANDOM
			-- Pseudo-random number sequence, linear congruential method
			-- 
			-- This class is adapted from work in "Discrete-Event System Simulation"
			-- by Jerry Banks & John S. Carson, II
			-- Prentice-Hall International Series in
			-- Industrial and Systems Engineering 1984
			-- Example 7.12 p 266 which is from
			-- IMSL Scientific Subroutine Package [1978],
			-- written in Fortran for IBM 360/370 computers.
			-- 

	RANDOM
			-- Pseudo-random number sequence, linear congruential method
			-- 
			-- This class is adapted from work in "Discrete-Event System Simulation"
			-- by Jerry Banks & John S. Carson, II
			-- Prentice-Hall International Series in
			-- Industrial and Systems Engineering 1984
			-- Example 7.12 p 266 which is from
			-- IMSL Scientific Subroutine Package [1978],
			-- written in Fortran for IBM 360/370 computers.
			-- 

	RANDOM_NUMBER
			-- This class allows you to generate RANDOM_NUMBERs for use in other classes.

	RATIONAL
			-- An arbitrary precision library for Rational numbers.
			-- 
			-- Creation
			-- make,
			-- make_from_ints,
			-- make_from_string,
			-- make_from_real32,
			-- make_from_real64,
			-- 
			-- Queries
			-- absolute: RATIONAL
			-- add (other: RATIONAL): RATIONAL
			-- as_real32: REAL_32
			-- as_real64: REAL_64
			-- divide alias "//" (other: RATIONAL): RATIONAL
			-- is_equal (other: RATIONAL): BOOLEAN
			-- is_greater alias ">" (other: RATIONAL): BOOLEAN
			-- is_greater_equal alias ">=" (other: RATIONAL): BOOLEAN
			-- is_less alias "<" (other: RATIONAL): BOOLEAN
			-- is_less_equal alias "<=" (other: RATIONAL): BOOLEAN
			-- is_valid_real_32: BOOLEAN
			-- is_valid_real_64: BOOLEAN
			-- max (other: [like Current] RATIONAL): RATIONAL
			-- min (other: [like Current] RATIONAL): RATIONAL
			-- minus alias "-" (other: RATIONAL): RATIONAL
			-- multiply (other: RATIONAL): RATIONAL
			-- negate: RATIONAL
			-- opposite alias "-": RATIONAL
			-- out: STRING_8
			-- plus alias "+" (other: RATIONAL): RATIONAL
			-- power alias "^" (other: INTEGER): RATIONAL
			-- product alias "*" (other: RATIONAL): RATIONAL
			-- quotient alias "/" (other: RATIONAL): RATIONAL
			-- reciprocal: RATIONAL
			-- round_to (digits: INTEGER): STRING
			-- square: RATIONAL
			-- string_is_float (s: STRING): BOOLEAN
			-- string_is_fraction (s: STRING): BOOLEAN
			-- string_is_rational (s: STRING): BOOLEAN
			-- subtract (other: RATIONAL): RATIONAL
			-- 
			-- Commands
			-- canonicalize

	RATIONAL
			-- An arbitrary precision library for Rational numbers.
			-- 
			-- Creation
			-- make,
			-- make_from_ints,
			-- make_from_string,
			-- make_from_real32,
			-- make_from_real64,
			-- 
			-- Queries
			-- absolute: RATIONAL
			-- add (other: RATIONAL): RATIONAL
			-- as_real32: REAL_32
			-- as_real64: REAL_64
			-- divide alias "//" (other: RATIONAL): RATIONAL
			-- is_equal (other: RATIONAL): BOOLEAN
			-- is_greater alias ">" (other: RATIONAL): BOOLEAN
			-- is_greater_equal alias ">=" (other: RATIONAL): BOOLEAN
			-- is_less alias "<" (other: RATIONAL): BOOLEAN
			-- is_less_equal alias "<=" (other: RATIONAL): BOOLEAN
			-- is_valid_real_32: BOOLEAN
			-- is_valid_real_64: BOOLEAN
			-- max (other: [like Current] RATIONAL): RATIONAL
			-- min (other: [like Current] RATIONAL): RATIONAL
			-- minus alias "-" (other: RATIONAL): RATIONAL
			-- multiply (other: RATIONAL): RATIONAL
			-- negate: RATIONAL
			-- opposite alias "-": RATIONAL
			-- out: STRING_8
			-- plus alias "+" (other: RATIONAL): RATIONAL
			-- power alias "^" (other: INTEGER): RATIONAL
			-- product alias "*" (other: RATIONAL): RATIONAL
			-- quotient alias "/" (other: RATIONAL): RATIONAL
			-- reciprocal: RATIONAL
			-- round_to (digits: INTEGER): STRING
			-- square: RATIONAL
			-- string_is_float (s: STRING): BOOLEAN
			-- string_is_fraction (s: STRING): BOOLEAN
			-- string_is_rational (s: STRING): BOOLEAN
			-- subtract (other: RATIONAL): RATIONAL
			-- 
			-- Commands
			-- canonicalize

	RATIONAL_ADVANCED_TEST
			-- Contains test cases for advanced parts of the RATIONAL class,
			-- including conversion across different elements.

	RATIONAL_FUNCTION_TEST
			-- A series of test cases for the functions included in the RATIONAL class.
			-- This includes make_from_ints, make_from_string, creation from floats, 
			-- as_real64, and round_to."

	RATIONAL_LONG_TEST
			-- Testing suite for the RATIONAL class covering the operation capabilities
			-- on very large numbers.

	RATIONAL_PREDICATE_TEST
			-- Testing suite for the RATIONAL Class covering the is_equal,
			-- is_less, divisible, and is_canonical queries.

	RATIONAL_PRIMARY_OPERATION_TEST
			-- Testing suite for the RATIONAL Class covering the +, -, *, and // operation capabilities.

	RATIONAL_SECONDARY_OPERATION_TEST
			-- Testing suite for the RATIONAL Class covering the power,
			-- square, gcd, reciprocal, v_divide, real_divide_round_to, round_to,
			-- opposite, and identity operation capabilities.

	RATIONAL_VIOLATION_TEST
			-- Testing suite for the RATIONAL Class testing preconditions.

	RAW_FILE
			-- Files, viewed as persistent sequences of bytes

	RAW_FILE
			-- Files, viewed as persistent sequences of bytes

	READABLE_INDEXABLE* [G]
			-- Tables whose keys are integers in a contiguous interval

	READABLE_INDEXABLE* [G]
			-- Tables whose keys are integers in a contiguous interval

	READABLE_INDEXABLE_ITERATION_CURSOR [G]
			-- Concrete version of an external iteration cursor for READABLE_INDEXABLE.

	READABLE_INDEXABLE_ITERATION_CURSOR [G]
			-- Concrete version of an external iteration cursor for READABLE_INDEXABLE.

	READABLE_STRING_32*
			-- Sequences of 32-bit characters, accessible through integer indices
			-- in a contiguous range. Read-only interface.

	READABLE_STRING_32*
			-- Sequences of 32-bit characters, accessible through integer indices
			-- in a contiguous range. Read-only interface.

	READABLE_STRING_8*
			-- Sequences of 8-bit characters, accessible through integer indices
			-- in a contiguous range. Read-only interface.

	READABLE_STRING_8*
			-- Sequences of 8-bit characters, accessible through integer indices
			-- in a contiguous range. Read-only interface.

	READABLE_STRING_GENERAL*
			-- Common ancestors to all STRING classes. Read-only interface.

	READABLE_STRING_GENERAL*
			-- Common ancestors to all STRING classes. Read-only interface.

	READ_WRITE_LOCK
			-- Read/Write synchronization object, allows multiple reader threads to have access to a resource, and only one writer thread.

	READ_WRITE_LOCK
			-- Read/Write synchronization object, allows multiple reader threads to have access to a resource, and only one writer thread.

	REAL_32
			-- Real values, single precision.

	REAL_32
			-- Real values, single precision.

	REAL_32_REF
			-- References to objects containing a real value

	REAL_32_REF
			-- References to objects containing a real value

	REAL_64
			-- Real values, double precision.

	REAL_64
			-- Real values, double precision.

	REAL_64_REF
			-- References to objects containing a double-precision real number

	REAL_64_REF
			-- References to objects containing a double-precision real number

	RECURSIVE_CURSOR_TREE* [G]
			-- Cursor trees with a recursive structure

	RECURSIVE_CURSOR_TREE* [G]
			-- Cursor trees with a recursive structure

	RECURSIVE_TREE_CURSOR [G]
			-- Cursors for recursive trees

	RECURSIVE_TREE_CURSOR [G]
			-- Cursors for recursive trees

	REFACTORING_HELPER
			-- Collection of features that are used to mark
			-- places in code that needs refactoring.

	REFACTORING_HELPER
			-- Collection of features that are used to mark
			-- places in code that needs refactoring.

	REFLECTED_COPY_SEMANTICS_OBJECT
			-- Accessor to an object with copy semantics. Useful to manipulate fields of an object, or
			-- an expanded field of an object without causing any copying.

	REFLECTED_COPY_SEMANTICS_OBJECT
			-- Accessor to an object with copy semantics. Useful to manipulate fields of an object, or
			-- an expanded field of an object without causing any copying.

	REFLECTED_OBJECT*
			-- Common ancestor for object inspection.

	REFLECTED_OBJECT*
			-- Common ancestor for object inspection.

	REFLECTED_REFERENCE_OBJECT
			-- Accessor to an object. Useful to manipulate fields of an object, or
			-- an expanded field of an object without causing any copying.
			-- If applied to an expanded type, a copy will be manipulated.

	REFLECTED_REFERENCE_OBJECT
			-- Accessor to an object. Useful to manipulate fields of an object, or
			-- an expanded field of an object without causing any copying.
			-- If applied to an expanded type, a copy will be manipulated.

	REFLECTOR
			-- Access to internal object properties.
			-- This class may be used as ancestor by classes needing its facilities.

	REFLECTOR
			-- Access to internal object properties.
			-- This class may be used as ancestor by classes needing its facilities.

	REFLECTOR_CONSTANTS
			-- Constants to represent abstract types in {REFFLECTOR} and {OBJECT_PROXY}.

	REFLECTOR_CONSTANTS
			-- Constants to represent abstract types in {REFFLECTOR} and {OBJECT_PROXY}.

	REFLECTOR_HELPER
			-- Helper for routines in INTERNAL class.

	REFLECTOR_HELPER
			-- Helper for routines in INTERNAL class.

	REGISTRATION
			-- Summary description for REGISTRATION.

	REL [G -> attached ANY, H -> attached ANY]
			-- RELATION data structure for both specification and implementation.

	REL [G -> attached ANY, H -> attached ANY]
			-- RELATION data structure for both specification and implementation.

	REPEATABLE*
			-- Object that may iterate over its own states.

	REPEATABLE*
			-- Object that may iterate over its own states.

	RESCUE_FAILURE
			-- Exception raised in rescue clause

	RESCUE_FAILURE
			-- Exception raised in rescue clause

	RESIZABLE* [G]
			-- Finite structures whose item count is subject to change

	RESIZABLE* [G]
			-- Finite structures whose item count is subject to change

	RESUMPTION_FAILURE
			-- Exception raised when retry did not succeed

	RESUMPTION_FAILURE
			-- Exception raised when retry did not succeed

	ROOT
			-- project application root class

	ROUTINE* [OPEN_ARGS -> detachable TUPLE create default_create end]
			-- Objects representing delayed calls to a routine,
			-- with some operands possibly still open

	ROUTINE* [OPEN_ARGS -> detachable TUPLE create default_create end]
			-- Objects representing delayed calls to a routine,
			-- with some operands possibly still open

	ROUTINE_FAILURE
			-- Exception representing a routine failure.

	ROUTINE_FAILURE
			-- Exception representing a routine failure.

	RT_DBG_ATTRIBUTE_RECORD [G -> detachable ANY]
			-- Field record

	RT_DBG_CALL_RECORD
			-- Call record

	RT_DBG_COMMON*
			-- Common routine for RT_DBG_ classes

	RT_DBG_EXECUTION_PARAMETERS
			-- Eiffel class instanciated and used from the Eiffel runtime.

	RT_DBG_EXECUTION_RECORDER
			-- Execution recorder

	RT_DBG_FIELD_RECORD [G -> detachable ANY]
			-- Field record

	RT_DBG_INTERNAL*
			-- Internal routine for RT_DBG_ classes

	RT_DBG_LOCAL_RECORD [G -> detachable ANY]
			-- Field record

	RT_DBG_VALUE_RECORD*
			-- Abstract record for execution recording mechanism

	RT_DEBUGGER
			-- Set of features to access ISE debugger functionality from debuggee.
			-- 
			-- Note: do not try to evaluate the following feature in watch tool!

	RT_DEBUGGER
			-- Set of features to access ISE debugger functionality from debuggee.
			-- 
			-- Note: do not try to evaluate the following feature in watch tool!

	RT_EXTENSION
			-- Eiffel class instanciated and used from the Eiffel runtime.

	RT_EXTENSION_COMMON*
			-- Common routine for RT_EXTENSION classes

	RT_EXTENSION_GENERAL*
			-- Common routine for RT_EXTENSION classes

	SED_ABSTRACT_OBJECTS_TABLE*
			-- Abstract equivalent of HASH_TABLE [NATURAL_32, ANY], since this type cannot be written
			-- as ANY does not inherit from HASHABLE

	SED_ABSTRACT_OBJECTS_TABLE*
			-- Abstract equivalent of HASH_TABLE [NATURAL_32, ANY], since this type cannot be written
			-- as ANY does not inherit from HASHABLE

	SED_BASIC_DESERIALIZER
			-- Decoding of arbitrary objects graphs between sessions of a same program.

	SED_BASIC_DESERIALIZER
			-- Decoding of arbitrary objects graphs between sessions of a same program.

	SED_BASIC_SERIALIZER
			-- Encoding of arbitrary objects graphs between sessions of a same program.

	SED_BASIC_SERIALIZER
			-- Encoding of arbitrary objects graphs between sessions of a same program.

	SED_BINARY_READER_WRITER*
			-- Ancestor to serialize/deserialize data using a buffer in binary format.

	SED_BINARY_READER_WRITER*
			-- Ancestor to serialize/deserialize data using a buffer in binary format.

	SED_ERROR
			-- Simple representation of a SED error

	SED_ERROR
			-- Simple representation of a SED error

	SED_ERROR_FACTORY
			-- Objects that provide instances of SED_ERROR.

	SED_ERROR_FACTORY
			-- Objects that provide instances of SED_ERROR.

	SED_INDEPENDENT_DESERIALIZER
			-- Decoding of arbitrary objects graphs between sessions of programs containing the same types. It basically takes care of potential reordering of attributes from one system to the other.

	SED_INDEPENDENT_DESERIALIZER
			-- Decoding of arbitrary objects graphs between sessions of programs containing the same types. It basically takes care of potential reordering of attributes from one system to the other.

	SED_INDEPENDENT_SERIALIZER
			-- Encoding of arbitrary objects graphs between different version of programs containing the same types.

	SED_INDEPENDENT_SERIALIZER
			-- Encoding of arbitrary objects graphs between different version of programs containing the same types.

	SED_MEDIUM_READER_WRITER
			-- Serialize/Deserialize data from a medium.

	SED_MEDIUM_READER_WRITER
			-- Serialize/Deserialize data from a medium.

	SED_MEDIUM_READER_WRITER_1
			-- Serialize/Deserialize data from a medium.

	SED_MEDIUM_READER_WRITER_1
			-- Serialize/Deserialize data from a medium.

	SED_MEMORY_READER_WRITER
			-- Serialize/Deserialize data from memory.
			-- 
			-- Given a memory area referenced by MANAGED_POINTER, store/retrieve data from 
			-- memory. Initially memory is read from the first byte unless changed via set_position.
			-- 
			-- After the first store/retrieve operation, count is set to the position of the last
			-- written/read bytes. If you haven't set an initial position via set_position, it is
			-- also the number of bytes written/read, otherwise the number of bytes read is
			-- count - initial_position.

	SED_MEMORY_READER_WRITER
			-- Serialize/Deserialize data from memory.
			-- 
			-- Given a memory area referenced by MANAGED_POINTER, store/retrieve data from 
			-- memory. Initially memory is read from the first byte unless changed via set_position.
			-- 
			-- After the first store/retrieve operation, count is set to the position of the last
			-- written/read bytes. If you haven't set an initial position via set_position, it is
			-- also the number of bytes written/read, otherwise the number of bytes read is
			-- count - initial_position.

	SED_META_MODEL
			-- Meta model representing a deserialized object. Useful for updating serialized data which might not be in sync with more recent version of the associated base class of the serialized object.

	SED_META_MODEL
			-- Meta model representing a deserialized object. Useful for updating serialized data which might not be in sync with more recent version of the associated base class of the serialized object.

	SED_MULTI_OBJECT_SERIALIZATION
			-- Serialize and deserialize multiple objects into one file.

	SED_MULTI_OBJECT_SERIALIZATION
			-- Serialize and deserialize multiple objects into one file.

	SED_OBJECTS_TABLE
			-- Equivalent of HASH_TABLE [NATURAL_32, ANY], since this type cannot be written
			-- as ANY does not inherit from HASHABLE

	SED_OBJECTS_TABLE
			-- Equivalent of HASH_TABLE [NATURAL_32, ANY], since this type cannot be written
			-- as ANY does not inherit from HASHABLE

	SED_READER_WRITER*
			-- Ancestor for reading/writing basic known entities from and to a particular location specified in concrete descendants of current.

	SED_READER_WRITER*
			-- Ancestor for reading/writing basic known entities from and to a particular location specified in concrete descendants of current.

	SED_RECOVERABLE_DESERIALIZER
			-- Decoding of arbitrary objects graphs between sessions of programs
			-- containing the same types or potentially different types (which can
			-- be mapped to the new type system via a correction mechanism,). It
			-- also basically takes care of potential reordering of attributes
			-- from one system to the other.

	SED_RECOVERABLE_DESERIALIZER
			-- Decoding of arbitrary objects graphs between sessions of programs
			-- containing the same types or potentially different types (which can
			-- be mapped to the new type system via a correction mechanism,). It
			-- also basically takes care of potential reordering of attributes
			-- from one system to the other.

	SED_RECOVERABLE_SERIALIZER
			-- Encoding of arbitrary objects graphs between different version of
			-- programs containing types that might have changed and for which the
			-- retrieving system may know how to fix the mismatches.

	SED_RECOVERABLE_SERIALIZER
			-- Encoding of arbitrary objects graphs between different version of
			-- programs containing types that might have changed and for which the
			-- retrieving system may know how to fix the mismatches.

	SED_SESSION_DESERIALIZER
			-- Decoding of arbitrary objects graphs within a session of a same program.

	SED_SESSION_DESERIALIZER
			-- Decoding of arbitrary objects graphs within a session of a same program.

	SED_SESSION_SERIALIZER
			-- Encoding of arbitrary objects graphs within a session of a same program.
			-- 
			-- Some routines are explicitely frozen, not because we do not want them to be redefined
			-- but if they are frozen, it saves us having to look at all possible descendants whenever
			-- we do a change.

	SED_SESSION_SERIALIZER
			-- Encoding of arbitrary objects graphs within a session of a same program.
			-- 
			-- Some routines are explicitely frozen, not because we do not want them to be redefined
			-- but if they are frozen, it saves us having to look at all possible descendants whenever
			-- we do a change.

	SED_STORABLE_FACILITIES
			-- Serialize and deserialize objects to and from SED_READER_WRITER instances.

	SED_STORABLE_FACILITIES
			-- Serialize and deserialize objects to and from SED_READER_WRITER instances.

	SED_TYPE_MISMATCH
			-- Store all information about a mismatch in a type.

	SED_TYPE_MISMATCH
			-- Store all information about a mismatch in a type.

	SED_UTILITIES
			-- Utilities for serializing/deserializing objects

	SED_UTILITIES
			-- Utilities for serializing/deserializing objects

	SED_VERSIONS
			-- Summary description for {SED_STORABLE_VERSIONS}.

	SED_VERSIONS
			-- Summary description for {SED_STORABLE_VERSIONS}.

	SEMAPHORE
			-- Semaphore synchronization object, allows threads to access global data through critical sections.

	SEMAPHORE
			-- Semaphore synchronization object, allows threads to access global data through critical sections.

	SEQ [G -> attached ANY]
			-- Finite sequences of some elements of type G.
			-- A valid index is 1..count.
			-- Array notation can be used, as well as iteration (across).
			-- Empty sequences can be created, or creation can be from an array. 
			-- Sequences have a first item (the head), a tail and last item.
			-- Infix notation for prepended_by where x is of generic type G:
			-- seq1 |< x
			-- Infix notation for appended_by where x is of generic type G:
			-- seq1 |> x
			-- For concatenation we use infix: seq1 |++| seq2
			-- For queries, to assert that the state is not changed, 
			-- the postcondition is
			-- Current ~ old Current.deep_twin
			-- Class also has an inefficient implementation:

	SEQ [G -> attached ANY]
			-- Finite sequences of some elements of type G.
			-- A valid index is 1..count.
			-- Array notation can be used, as well as iteration (across).
			-- Empty sequences can be created, or creation can be from an array. 
			-- Sequences have a first item (the head), a tail and last item.
			-- Infix notation for prepended_by where x is of generic type G:
			-- seq1 |< x
			-- Infix notation for appended_by where x is of generic type G:
			-- seq1 |> x
			-- For concatenation we use infix: seq1 |++| seq2
			-- For queries, to assert that the state is not changed, 
			-- the postcondition is
			-- Current ~ old Current.deep_twin
			-- Class also has an inefficient implementation:

	SEQUENCE* [G]
			-- Finite sequences: structures where existing items are arranged
			-- and accessed sequentially, and new ones can be added at the end.

	SEQUENCE* [G]
			-- Finite sequences: structures where existing items are arranged
			-- and accessed sequentially, and new ones can be added at the end.

	SEQ_STRING

	SEQ_STRING

	SERIALIZATION_FAILURE
			-- Exception for retrieval error, 
			-- may be raised by retrieved in IO_MEDIUM.

	SERIALIZATION_FAILURE
			-- Exception for retrieval error, 
			-- may be raised by retrieved in IO_MEDIUM.

	EIFFEL_SET* [G]
			-- Collection, where each element must be unique.

	SET [G -> attached ANY]
			-- SET data structure for both specification and implementation.

	SET [G -> attached ANY]
			-- SET data structure for both specification and implementation.

	EIFFEL_SET* [G]
			-- Collection, where each element must be unique.

	SHARED_EXECUTION_ENVIRONMENT
			-- Shared instance of execution environment.

	SHARED_EXECUTION_ENVIRONMENT
			-- Shared instance of execution environment.

	SINGLE_MATH
			-- Basic mathematical operations, single-precision.
			-- This class may be used as ancestor by classes needing its facilities

	SINGLE_MATH
			-- Basic mathematical operations, single-precision.
			-- This class may be used as ancestor by classes needing its facilities

	SLOW_VALUE_TESTS

	SORTED_LIST* [G -> COMPARABLE]
			-- Sequential lists where the cells are sorted in ascending order
			-- according to the relational operators of PART_COMPARABLE

	SORTED_LIST* [G -> COMPARABLE]
			-- Sequential lists where the cells are sorted in ascending order
			-- according to the relational operators of PART_COMPARABLE

	SORTED_STRUCT* [G -> COMPARABLE]
			-- Structures whose items are sorted according to a total order relation

	SORTED_STRUCT* [G -> COMPARABLE]
			-- Structures whose items are sorted according to a total order relation

	SORTED_TWO_WAY_LIST [G -> COMPARABLE]
			-- Two-way lists, kept sorted.

	SORTED_TWO_WAY_LIST [G -> COMPARABLE]
			-- Two-way lists, kept sorted.

	SPECIAL [T]
			-- Special objects: homogeneous sequences of values,
			-- used to represent arrays and strings

	SPECIAL [T]
			-- Special objects: homogeneous sequences of values,
			-- used to represent arrays and strings

	SPECIAL_ITERATION_CURSOR [G]
			-- External forward one-step iteration cursor for SPECIAL.

	SPECIAL_ITERATION_CURSOR [G]
			-- External forward one-step iteration cursor for SPECIAL.

	EIFFEL_STACK* [G]
			-- Stacks (last-in, first-out dispensers), without commitment
			-- to a particular representation

	EIFFEL_STACK* [G]
			-- Stacks (last-in, first-out dispensers), without commitment
			-- to a particular representation

	STD_FILES
			-- Commonly used input and output mechanisms.
			-- This class may be used as either ancestor or supplier
			-- by classes needing its facilities.

	STD_FILES
			-- Commonly used input and output mechanisms.
			-- This class may be used as either ancestor or supplier
			-- by classes needing its facilities.

	STORABLE
			-- Objects that may be stored and retrieved along with all their dependents.
			-- This class may be used as ancestor by classes needing its facilities.

	STORABLE
			-- Objects that may be stored and retrieved along with all their dependents.
			-- This class may be used as ancestor by classes needing its facilities.

	STREAM
			-- Implementation of the STORABLE mechanism with streams.

	STREAM
			-- Implementation of the STORABLE mechanism with streams.

	STRING_32
			-- Sequences of 32-bit characters, accessible through integer indices
			-- in a contiguous range.

	STRING_32
			-- Sequences of 32-bit characters, accessible through integer indices
			-- in a contiguous range.

	STRING_32_ITERATION_CURSOR
			-- External forward one-step iteration cursor for STRING_32.

	STRING_32_ITERATION_CURSOR
			-- External forward one-step iteration cursor for STRING_32.

	STRING_32_SEARCHER
			-- Helper to perform efficient search of a string in another one.
			-- Note: The algorithm used is the one described in Communications of the ACM,
			-- volume 33, number 8, August 1990, by Daniel M. Sunday. The fuzzy
			-- version was presented by Peter R. Sibbald in Communications of the
			-- ACM, volume 35, number 4, April 1992 (Technical Correspondance).

	STRING_32_SEARCHER
			-- Helper to perform efficient search of a string in another one.
			-- Note: The algorithm used is the one described in Communications of the ACM,
			-- volume 33, number 8, August 1990, by Daniel M. Sunday. The fuzzy
			-- version was presented by Peter R. Sibbald in Communications of the
			-- ACM, volume 35, number 4, April 1992 (Technical Correspondance).

	STRING_8
			-- Sequences of 8-bit characters, accessible through integer indices
			-- in a contiguous range.

	STRING_8
			-- Sequences of 8-bit characters, accessible through integer indices
			-- in a contiguous range.

	STRING_8_ITERATION_CURSOR
			-- External forward one-step iteration cursor for STRING_8.

	STRING_8_ITERATION_CURSOR
			-- External forward one-step iteration cursor for STRING_8.

	STRING_8_SEARCHER
			-- Helper to perform efficient search of a string in another one.
			-- Note: The algorithm used is the one described in Communications of the ACM,
			-- volume 33, number 8, August 1990, by Daniel M. Sunday. The fuzzy
			-- version was presented by Peter R. Sibbald in Communications of the
			-- ACM, volume 35, number 4, April 1992 (Technical Correspondance).

	STRING_8_SEARCHER
			-- Helper to perform efficient search of a string in another one.
			-- Note: The algorithm used is the one described in Communications of the ACM,
			-- volume 33, number 8, August 1990, by Daniel M. Sunday. The fuzzy
			-- version was presented by Peter R. Sibbald in Communications of the
			-- ACM, volume 35, number 4, April 1992 (Technical Correspondance).

	STRING_GENERAL*
			-- Common ancestors to all STRING classes.

	STRING_GENERAL*
			-- Common ancestors to all STRING classes.

	STRING_HANDLER
			-- Objects that can access set_count from STRING

	STRING_HANDLER
			-- Objects that can access set_count from STRING

	STRING_ITERATION_CURSOR
			-- External iteration cursor on READABLE_STRING_GENERAL based on CHARACTER_32 item.

	STRING_ITERATION_CURSOR
			-- External iteration cursor on READABLE_STRING_GENERAL based on CHARACTER_32 item.

	STRING_SEARCHER*
			-- Helper to perform efficient search of a string in another one.
			-- Note: The algorithm used is the one described in Communications of the ACM,
			-- volume 33, number 8, August 1990, by Daniel M. Sunday. The fuzzy
			-- version was presented by Peter R. Sibbald in Communications of the
			-- ACM, volume 35, number 4, April 1992 (Technical Correspondance).

	STRING_SEARCHER*
			-- Helper to perform efficient search of a string in another one.
			-- Note: The algorithm used is the one described in Communications of the ACM,
			-- volume 33, number 8, August 1990, by Daniel M. Sunday. The fuzzy
			-- version was presented by Peter R. Sibbald in Communications of the
			-- ACM, volume 35, number 4, April 1992 (Technical Correspondance).

	STRING_TABLE [G]
			-- Hash tables, used to store items identified by string keys that are compared with or without case sensitivity.

	STRING_TABLE [G]
			-- Hash tables, used to store items identified by string keys that are compared with or without case sensitivity.

	STRING_TO_INTEGER_CONVERTOR
			-- Convertor to do string to integer/natural conversion

	STRING_TO_INTEGER_CONVERTOR
			-- Convertor to do string to integer/natural conversion

	STRING_TO_NUMERIC_CONVERTOR*
			-- Abstract convertor for string to number conversion

	STRING_TO_NUMERIC_CONVERTOR*
			-- Abstract convertor for string to number conversion

	STRING_TO_REAL_CONVERTOR
			-- String to real/double convertor

	STRING_TO_REAL_CONVERTOR
			-- String to real/double convertor

	STRING_TRACING_HANDLER*
			-- Abstract class to dispatch tracing events to user using TYPE and STRING data.

	STRING_TRACING_HANDLER*
			-- Abstract class to dispatch tracing events to user using TYPE and STRING data.

	STUDENT
			-- A student with their administrative information.

	SUBSET* [G]
			-- Subsets with the associated operations,
			-- without commitment to a particular representation

	SUBSET* [G]
			-- Subsets with the associated operations,
			-- without commitment to a particular representation

	SUBSET_STRATEGY* [G]
			-- Strategies for computing several features of subsets. The computing
			-- strategy is optimized depending on the type of elements contained in
			-- the set.

	SUBSET_STRATEGY* [G]
			-- Strategies for computing several features of subsets. The computing
			-- strategy is optimized depending on the type of elements contained in
			-- the set.

	SUBSET_STRATEGY_GENERIC [G]
			-- Strategies for calculating several features for subsets containing
			-- items of any type.

	SUBSET_STRATEGY_GENERIC [G]
			-- Strategies for calculating several features for subsets containing
			-- items of any type.

	SUBSET_STRATEGY_HASHABLE [G]
			-- Strategies for calculating several features for subsets containing
			-- HASHABLEs.

	SUBSET_STRATEGY_HASHABLE [G]
			-- Strategies for calculating several features for subsets containing
			-- HASHABLEs.

	SUBSET_STRATEGY_TREE [G -> COMPARABLE]
			-- Strategies for calculating several features for subsets represented
			-- by binary search trees. Contained items have to be COMPARABLE

	SUBSET_STRATEGY_TREE [G -> COMPARABLE]
			-- Strategies for calculating several features for subsets represented
			-- by binary search trees. Contained items have to be COMPARABLE

	SYSTEM_STRING
			-- Fake abstraction of a .NET SYSTEM_STRING in a non-.NET system

	SYSTEM_STRING
			-- Fake abstraction of a .NET SYSTEM_STRING in a non-.NET system

	SYSTEM_STRING_FACTORY
			-- Factory for creating SYSTEM_STRING instances.

	SYSTEM_STRING_FACTORY
			-- Factory for creating SYSTEM_STRING instances.

	SYS_EXCEPTION*
			-- Deferred class of all systematic exceptions

	SYS_EXCEPTION*
			-- Deferred class of all systematic exceptions

	TABLE* [G, H]
			-- Containers whose items are accessible through keys

	TABLE* [G, H]
			-- Containers whose items are accessible through keys

	TABLE_ITERABLE* [G, K]
			-- Structure that can be iterated over using across...loop...end.
			-- using key and item.

	TABLE_ITERABLE* [G, K]
			-- Structure that can be iterated over using across...loop...end.
			-- using key and item.

	TABLE_ITERATION_CURSOR* [G, K]
			-- External iteration cursor used by across...loop...end 
			-- using key and item.

	TABLE_ITERATION_CURSOR* [G, K]
			-- External iteration cursor used by across...loop...end 
			-- using key and item.

	TEST_BAG
			-- Summary description for TEST_BAG.

	TEST_CASE*
			-- Common ancestor of all test case classes

	TEST_CASE*
			-- Common ancestor of all test case classes

	TEST_EHEALTH_SYSTEM
			-- Summary description for TEST_EHEALTH_SYSTEM.

	TEST_FLOAT1
			-- Test MONEY and ACCOUNT classes.

	TEST_FLOAT2
			-- Summary description for {INSTRUCTOR_TEST2}.

	TEST_FUN
			-- Summary description for TEST_FUN.

	TEST_GRAPH
			-- Test GRPAH commands

	TEST_GRAPH_BASIC
			-- Basic tests for GRAPH[V]

	TEST_GRAPH_CONNOR
			-- Tests for COMPARABLE_GRAPH

	TEST_LAMPSORT
			-- lampsort application root class

	TEST_NUMERIC_ITERABLE
			-- Summary description for TEST_NUMERIC_ITERABLE.

	TEST_PLUS_ONE
			-- Summary description for {TESTS}.

	TEST_REGISTRATION1
			-- Summary description for TEST_REGISTRATION2.

	TEST_REGISTRATION2
			-- Summary description for TEST_REGISTRATION2.

	TEST_REL
			-- Summary description for TEST_REL.

	TEST_SEQ
			-- Summary description for TEST_SEQ.

	TEST_SET
			-- Summary description for TEST_SET.

	TEST_STRUCTURES
			-- Summary description for TEST_STRUCTURES.

	TEST_VALUE1

	TEST_VALUE2

	TEST_VALUE2_A
			-- Summary description for TEST_VALUE2.

	THREAD_ENVIRONMENT
			-- Information about the current thread execution

	THREAD_ENVIRONMENT
			-- Information about the current thread execution

	TIME
			-- Absolute times

	TIME
			-- Absolute times

	TIME_CONSTANTS
			-- Universal constants of time in a day

	TIME_CONSTANTS
			-- Universal constants of time in a day

	TIME_DURATION
			-- Durations of time

	TIME_DURATION
			-- Durations of time

	TIME_MEASUREMENT*
			-- Time Measurable Units

	TIME_MEASUREMENT*
			-- Time Measurable Units

	TIME_UTILITY
			-- Functions useful in time calculations

	TIME_UTILITY
			-- Functions useful in time calculations

	TIME_VALIDITY_CHECKER
			-- Facility routines to check the validity of TIMEs

	TIME_VALIDITY_CHECKER
			-- Facility routines to check the validity of TIMEs

	TIME_VALUE
			-- Values of time

	TIME_VALUE
			-- Values of time

	TO_SPECIAL [T]
			-- References to special objects, for direct access to arrays and strings

	TO_SPECIAL [T]
			-- References to special objects, for direct access to arrays and strings

	TRACING_HANDLER*
			-- Abstract class to dispatch tracing events to user. Tracing events are dispatched
			-- by calling activate on the TRACING_HANDLER's instance.
			--  For each thread being created a copy of the current tracer object will be
			--  used for the newly created thread to avoid race condition. It is up to the implementer
			--  of the class to ensure proper thread-safety and to properly implement duplicated which
			--  is by default implemented using twin.

	TRACING_HANDLER*
			-- Abstract class to dispatch tracing events to user. Tracing events are dispatched
			-- by calling activate on the TRACING_HANDLER's instance.
			--  For each thread being created a copy of the current tracer object will be
			--  used for the newly created thread to avoid race condition. It is up to the implementer
			--  of the class to ensure proper thread-safety and to properly implement duplicated which
			--  is by default implemented using twin.

	TRACING_SETTING
			-- Objects that manage the Eiffel tracing. You can start and
			-- stop the Eiffel tracing whenever you want to. It only works
			-- if trace (yes) is enabled in your project configuration file.

	TRACING_SETTING
			-- Objects that manage the Eiffel tracing. You can start and
			-- stop the Eiffel tracing whenever you want to. It only works
			-- if trace (yes) is enabled in your project configuration file.

	TRAVERSABLE* [G]
			-- Structures for which there exists a traversal policy
			-- that will visit every element exactly once.

	TRAVERSABLE* [G]
			-- Structures for which there exists a traversal policy
			-- that will visit every element exactly once.

	TRAVERSABLE_SUBSET* [G]
			-- Subsets that are traversable sequentially

	TRAVERSABLE_SUBSET* [G]
			-- Subsets that are traversable sequentially

	TREE* [G]
			-- Trees, without commitment to a particular representation

	TREE* [G]
			-- Trees, without commitment to a particular representation

	TREE_ITERATION_CURSOR [G]
			-- External forward one-step iteration cursor for descendants of TREE.

	TREE_ITERATION_CURSOR [G]
			-- External forward one-step iteration cursor for descendants of TREE.

	TUPLE
			-- Implementation of TUPLE

	TUPLE
			-- Implementation of TUPLE

	TWO_WAY_CHAIN_ITERATOR [G]
			-- Objects that are able to iterate over two-way chains,
			-- on which they can perform repeated actions and tests according
			-- to a number of predefined control structures such as if,
			-- until and others.

	TWO_WAY_CHAIN_ITERATOR [G]
			-- Objects that are able to iterate over two-way chains,
			-- on which they can perform repeated actions and tests according
			-- to a number of predefined control structures such as if,
			-- until and others.

	TWO_WAY_CIRCULAR [G]
			-- Circular chains implemented as two-way linked lists

	TWO_WAY_CIRCULAR [G]
			-- Circular chains implemented as two-way linked lists

	TWO_WAY_LIST [G]
			-- Sequential, two-way linked lists

	TWO_WAY_LIST [G]
			-- Sequential, two-way linked lists

	TWO_WAY_LIST_CURSOR [G]
			-- Cursors for two way lists.

	TWO_WAY_LIST_CURSOR [G]
			-- Cursors for two way lists.

	TWO_WAY_LIST_ITERATION_CURSOR [G]
			-- Concrete of an external iteration cursor for TWO_WAY_LIST.

	TWO_WAY_LIST_ITERATION_CURSOR [G]
			-- Concrete of an external iteration cursor for TWO_WAY_LIST.

	TWO_WAY_SORTED_SET [G -> COMPARABLE]
			-- Sets whose items may be compared according to a total order relation;
			-- implemented as sorted two-way lists.

	TWO_WAY_SORTED_SET [G -> COMPARABLE]
			-- Sets whose items may be compared according to a total order relation;
			-- implemented as sorted two-way lists.

	TWO_WAY_TREE [G]
			-- Trees implemented using a two way linked list representation

	TWO_WAY_TREE [G]
			-- Trees implemented using a two way linked list representation

	TWO_WAY_TREE_CURSOR [G]
			-- Cursors for two-way trees

	TWO_WAY_TREE_CURSOR [G]
			-- Cursors for two-way trees

	TWO_WAY_TREE_ITERATION_CURSOR [G]
			-- External forward iteration cursor for descendants of TWO_WAY_TREE.

	TWO_WAY_TREE_ITERATION_CURSOR [G]
			-- External forward iteration cursor for descendants of TWO_WAY_TREE.

	TYPE [G]
			-- Representation of an Eiffel type.

	TYPE [G]
			-- Representation of an Eiffel type.

	TYPED_INDEXABLE_ITERATION_CURSOR* [G, H -> READABLE_INDEXABLE [G]]
			-- External iteration cursor for READABLE_INDEXABLE.

	TYPED_INDEXABLE_ITERATION_CURSOR* [G, H -> READABLE_INDEXABLE [G]]
			-- External iteration cursor for READABLE_INDEXABLE.

	TYPED_POINTER [G]
			-- References to objects containing reference to object
			-- meant to be exchanged with non-Eiffel software.

	TYPED_POINTER [G]
			-- References to objects containing reference to object
			-- meant to be exchanged with non-Eiffel software.

	UC_CHARACTER
			-- Unicode characters

	UC_CHARACTER
			-- Unicode characters

	UC_CTYPE
			-- Routines for cased variants of Unicode characters

	UC_CTYPE
			-- Routines for cased variants of Unicode characters

	UC_IMPORTED_UNICODE_ROUTINES
			-- Imported unicode routines

	UC_IMPORTED_UNICODE_ROUTINES
			-- Imported unicode routines

	UC_IMPORTED_UTF16_ROUTINES
			-- Imported UTF-16 encoding routines

	UC_IMPORTED_UTF16_ROUTINES
			-- Imported UTF-16 encoding routines

	UC_IMPORTED_UTF32_ROUTINES
			-- Imported UTF-32 encoding routines

	UC_IMPORTED_UTF32_ROUTINES
			-- Imported UTF-32 encoding routines

	UC_IMPORTED_UTF8_ROUTINES
			-- Imported UTF-8 encoding routines

	UC_IMPORTED_UTF8_ROUTINES
			-- Imported UTF-8 encoding routines

	UC_STRING
			-- Unicode strings

	UC_STRING
			-- Unicode strings

	UC_STRING_HANDLER
			-- Objects that have access to the internals of UC_STRING

	UC_STRING_HANDLER
			-- Objects that have access to the internals of UC_STRING

	UC_UNICODE_CONSTANTS
			-- Unicode constants

	UC_UNICODE_CONSTANTS
			-- Unicode constants

	UC_UNICODE_ROUTINES
			-- Unicode routines

	UC_UNICODE_ROUTINES
			-- Unicode routines

	UC_UTF16_ROUTINES
			-- UTF-16 encoding routines

	UC_UTF16_ROUTINES
			-- UTF-16 encoding routines

	UC_UTF32_ROUTINES
			-- UTF-32 encoding routines

	UC_UTF32_ROUTINES
			-- UTF-32 encoding routines

	UC_UTF8_ROUTINES
			-- UTF-8 encoding routines

	UC_UTF8_ROUTINES
			-- UTF-8 encoding routines

	UC_UTF8_STRING
			-- Unicode strings with UTF-8 encoding

	UC_UTF8_STRING
			-- Unicode strings with UTF-8 encoding

	UC_V510_CTYPE
			-- Routines for cased variants of Unicode 5.1.0 characters

	UC_V510_CTYPE
			-- Routines for cased variants of Unicode 5.1.0 characters

	UC_V510_CTYPE_LOWERCASE
			-- Database for simple mapping to lower case

	UC_V510_CTYPE_LOWERCASE
			-- Database for simple mapping to lower case

	UC_V510_CTYPE_TITLECASE
			-- Database for simple mapping to title case

	UC_V510_CTYPE_TITLECASE
			-- Database for simple mapping to title case

	UC_V510_CTYPE_UPPERCASE
			-- Database for simple mapping to upper case

	UC_V510_CTYPE_UPPERCASE
			-- Database for simple mapping to upper case

	UNBOUNDED* [G]
			-- Finite structures whose item count is not bounded

	UNBOUNDED* [G]
			-- Finite structures whose item count is not bounded

	UNIX_FILE_INFO
			-- Obsolete internal file information, use FILE_INFO directly.

	UNIX_FILE_INFO
			-- Obsolete internal file information, use FILE_INFO directly.

	UNIX_SIGNALS
			-- Constants used for signal handling.
			-- This class may be used as ancestor by classes needing its facilities.

	UNIX_SIGNALS
			-- Constants used for signal handling.
			-- This class may be used as ancestor by classes needing its facilities.

	UTF_CONVERTER
			-- Converter from/to UTF-8, UTF-16 and UTF-32 encodings.
			-- 
			-- Handling of invalid encodings
			-- =============================
			-- 
			-- Whenever a UTF-8 or UTF-16 sequence is decoded, the decoding routines also check
			-- that the sequence is valid. If it is not, it will replace the invalid unit (e.g. a byte
			-- for UTF-8 and a 2-byte for UTF-16 by the replacement character U+FFFD as described by
			-- variant #3 of the recommended practice for replacement character in Unicode (see
			-- http://www.unicode.org/review/pr-121.html for more details).
			-- 
			-- However it means that you cannot roundtrip incorrectly encoded sequence back and forth
			-- between the encoded version and the decoded STRING_32 version. To allow roundtrip, an
			-- escaped representation of a bad encoded sequence has been introduced. It is adding a
			-- a fourth variant (which is a slight modification of variant #3) to the recommended
			-- practice where the replacement character is followed by the printed hexadecimal value
			-- of the invalid byte or the invalid 2-byte sequence.
			-- 
			-- To provide an example (assuming that the Unicode character U+FFFD is represented as
			-- ? textually):
			-- 1 - on UNIX, any invalid UTF-8 byte sequence such as 0x8F 0x8F is encoded as the
			-- following Unicode sequence: U+FFFD U+0038 U+0046 U+FFFF U+0038 U+0046, and textually
			-- it looks like "?8F?8F".
			-- 2 - on Windows, any invalid UTF-16 2-byte sequence such as 0xD800 0x0054 is encoded as the
			-- following Unicode sequence: U+FFFD U+0075 U+0044 U+0038 U+0030 U+0030 U+FFFD U+0035 U+0033,
			-- and textually it looks like "?uD800?54". The rule is that if the 2-byte sequence does not fit
			-- into 1 byte, it uses the letter u followed by the hexadecimal value of the 2-byte sequence,
			-- otherwise it simply uses the 1-byte hexadecimal representation.

	UTF_CONVERTER
			-- Converter from/to UTF-8, UTF-16 and UTF-32 encodings.
			-- 
			-- Handling of invalid encodings
			-- =============================
			-- 
			-- Whenever a UTF-8 or UTF-16 sequence is decoded, the decoding routines also check
			-- that the sequence is valid. If it is not, it will replace the invalid unit (e.g. a byte
			-- for UTF-8 and a 2-byte for UTF-16 by the replacement character U+FFFD as described by
			-- variant #3 of the recommended practice for replacement character in Unicode (see
			-- http://www.unicode.org/review/pr-121.html for more details).
			-- 
			-- However it means that you cannot roundtrip incorrectly encoded sequence back and forth
			-- between the encoded version and the decoded STRING_32 version. To allow roundtrip, an
			-- escaped representation of a bad encoded sequence has been introduced. It is adding a
			-- a fourth variant (which is a slight modification of variant #3) to the recommended
			-- practice where the replacement character is followed by the printed hexadecimal value
			-- of the invalid byte or the invalid 2-byte sequence.
			-- 
			-- To provide an example (assuming that the Unicode character U+FFFD is represented as
			-- ? textually):
			-- 1 - on UNIX, any invalid UTF-8 byte sequence such as 0x8F 0x8F is encoded as the
			-- following Unicode sequence: U+FFFD U+0038 U+0046 U+FFFF U+0038 U+0046, and textually
			-- it looks like "?8F?8F".
			-- 2 - on Windows, any invalid UTF-16 2-byte sequence such as 0xD800 0x0054 is encoded as the
			-- following Unicode sequence: U+FFFD U+0075 U+0044 U+0038 U+0030 U+0030 U+FFFD U+0035 U+0033,
			-- and textually it looks like "?uD800?54". The rule is that if the 2-byte sequence does not fit
			-- into 1 byte, it uses the letter u followed by the hexadecimal value of the 2-byte sequence,
			-- otherwise it simply uses the 1-byte hexadecimal representation.

	UTIL_PRIORITY_QUEUE [G -> COMPARABLE]
			-- Not immutable yet.
			-- Implemented with SORTED_TWO_WAY_LIST

	UTIL_PRIORITY_QUEUE [G -> COMPARABLE]
			-- Not immutable yet.
			-- Implemented with SORTED_TWO_WAY_LIST

	VALUE
			-- Perform arithmetic (+, -, *, /) on real numbers of arbitrary precision.
			-- In the case of division, the default precision is 35 digits after
			-- the decimal point. This can be changed via set_division_precision.
			-- The queries is_integer, is_natural and is_natural1 may be used to
			-- check that the value is an integer or natural number. 
			-- out provides a string represesentation rounded to two decimal places, and 
			-- precise_out is a string representation of the precise value. The corresponding
			-- C# class was the inspiration for this class.

	VALUE
			-- Perform arithmetic (+, -, *, /) on real numbers of arbitrary precision.
			-- In the case of division, the default precision is 35 digits after
			-- the decimal point. This can be changed via set_division_precision.
			-- The queries is_integer, is_natural and is_natural1 may be used to
			-- check that the value is an integer or natural number. 
			-- out provides a string represesentation rounded to two decimal places, and 
			-- precise_out is a string representation of the precise value. The corresponding
			-- C# class was the inspiration for this class.

	VALUE_SINGLETON
			-- Summary description for {VALUE2_SINGLETON}.

	VALUE_SINGLETON
			-- Summary description for {VALUE2_SINGLETON}.

	VARIANT_VIOLATION
			-- Loop variant violation

	VARIANT_VIOLATION
			-- Loop variant violation

	VERSIONABLE*
			-- Lightweight tracker of modifications made to instances of this class.
			-- Any modification causes version to get a new value that can be used
			-- by the clients to see if there were any changes since last access.

	VERSIONABLE*
			-- Lightweight tracker of modifications made to instances of this class.
			-- Any modification causes version to get a new value that can be used
			-- by the clients to see if there were any changes since last access.

	VERTEX [G -> COMPARABLE]
			-- Summary description for VERTEX.

	VERTEX_DISTANCE_PAIR [G -> attached ANY]
			-- Summary description for VERTEX_DISTANCE_PAIR.

	VERTEX_DISTANCE_PAIR [G -> attached ANY]
			-- Summary description for VERTEX_DISTANCE_PAIR.

	VOID_ASSIGNED_TO_EXPANDED
			-- Exception for assignment of void value to expanded entity

	VOID_ASSIGNED_TO_EXPANDED
			-- Exception for assignment of void value to expanded entity

	VOID_TARGET
			-- Exception for feature applied to void reference

	VOID_TARGET
			-- Exception for feature applied to void reference

	WEAK_REFERENCE [G]
			-- Abstraction for weak references, i.e. references to object that can still be reclaimed by the GC.
			-- If the actual generic parameter is expanded, put cannot be used as it does not make sense from the user
			-- point of view.

	WEAK_REFERENCE [G]
			-- Abstraction for weak references, i.e. references to object that can still be reclaimed by the GC.
			-- If the actual generic parameter is expanded, put cannot be used as it does not make sense from the user
			-- point of view.


Generated by ISE EiffelStudio