Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:
note description: "Eiffel Vision dynamic list. Implementation interface." legal: "See notice at end of class." status: "See notice at end of class." date: "$Date$" revision: "$Revision$" deferred class interface EV_DYNAMIC_LIST_I [G -> EV_CONTAINABLE] feature -- Access cursor: EV_DYNAMIC_LIST_CURSOR [G] -- Current cursor position. ensure not_void: Result /= Void generating_type: TYPE [detachable EV_DYNAMIC_LIST_I [G]] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty i_th (i: INTEGER_32): G -- Item at `i'-th position. require i_within_bounds: i > 0 and then i <= count ensure not_void: Result /= Void index: INTEGER_32 -- Index of current position index_of (v: detachable like item; i: INTEGER_32): INTEGER_32 -- Index of i_th item `v', if present. -- As dynamic list descendants are all sets, -- Result will be zero for all values of `i' -- that are not equal to one require positive_occurrences: i > 0 item: G -- Current item require readable: index > 0 and then index <= count ensure not_void: Result /= Void off: BOOLEAN -- Is there no current item? retrieve_item_by_data (data: detachable ANY; should_compare_objects: BOOLEAN): detachable G -- `Result' is first item in `Current' with data -- matching `some_data'. Compare objects if -- `should_compare_objects' otherwise compare references. retrieve_items_by_data (data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [G] -- `Result' is all items in `Current' with data -- matching `some_data'. Compare objects if -- `should_compare_objects' otherwise compare references. feature -- Measurement count: INTEGER_32 -- Number of items. feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are `a' and `b' either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are `a' and `b' either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal (other: attached EV_DYNAMIC_LIST_I [G]): BOOLEAN -- Are `Current' and `other' attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: attached EV_DYNAMIC_LIST_I [G]): BOOLEAN -- Is `other' attached to an object considered -- equal to current object? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are `a' and `b' either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal (other: attached EV_DYNAMIC_LIST_I [G]): BOOLEAN -- Is `other' attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of `other' (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void has (v: detachable like item): BOOLEAN -- Does structure contain `v'? is_destroyed: BOOLEAN -- Is `Current' no longer usable? -- (from EV_ANY_I) same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of `other'? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) valid_cursor (p: CURSOR): BOOLEAN -- Can the cursor be moved to position `p'? -- This is True if `p' conforms to EV_DYNAMIC_LIST_CURSOR and -- if it points to an item, `Current' must have it. feature -- Cursor movement back -- Move to previous item. require not_before: index > 0 forth -- Move cursor to next position. require not_after: index <= count go_i_th (i: INTEGER_32) -- Move cursor to `i'-th position. go_to (p: CURSOR) -- Move cursor to position `p'. move (i: INTEGER_32) -- Move cursor `i' positions. start -- Move cursor to first position. ensure index_on_first: index = 1 feature -- Element change append (s: SEQUENCE [G]) -- Append a copy of `s'. Do not move cursor. require sequence_not_void: s /= Void ensure count_increased: old count + s.count = count extend (v: like item) -- Add `v' to end. Do not move cursor. require v_not_void: v /= Void ensure has_v: has (v) merge_left (other: like attached_interface) -- Merge `other' into current structure before cursor -- position. Do not move cursor. Empty `other'. merge_right (other: like attached_interface) -- Merge `other' into current structure after cursor -- position. Do not move cursor. Empty `other'. put_front (v: like item) -- Add `v' at beginning. Do not move cursor. require v_not_void: v /= Void ensure has_v: has (v) put_i_th (v: like item; i: INTEGER_32) -- Replace item at `i'-th position by `v'. require valid_index: i > 0 and i <= count v_not_void: v /= Void ensure has_v: has (v) put_left (v: like item) -- Add `v' to the left of cursor position. Do not move cursor. require v_not_void: v /= Void ensure has_v: has (v) put_right (v: like item) -- Add `v' to the right of cursor position. Do not move cursor. require v_not_void: v /= Void ensure has_v: has (v) replace (v: like item) -- Replace current item by `v'. require writable: index > 0 and then index <= count v_not_void: v /= Void ensure has_v: has (v) feature -- Removal prune (v: like item) -- Remove `v' if present. Do not move cursor, except if -- cursor was on `v', move to right neighbor. ensure cursor_not_moved: not old has (v) implies old attached_interface.index = attached_interface.index cursor_not_moved: old has (v) and then old attached_interface.index < old index_of (v, 1) implies index = old index cursor_not_moved: old has (v) and then old attached_interface.index >= old index_of (v, 1) implies index = old index - 1 not_has_v: not has (v) remove -- Remove current item. Move cursor to right neighbor -- (or `after' if no right neighbor). require writable: not off ensure not_has_v: not has (old item) remove_left -- Remove item to the left of cursor position. -- Do not move cursor. require left_exists: index > 1 not_before: not (index = 0) ensure then left_neighbor_removed: not has (old i_th (index - 1)) remove_right -- Remove item to the right of cursor position. -- Do not move cursor. require right_exists: index < count ensure then right_neighbor_removed: not has (old i_th (index + 1)) wipe_out -- Remove all items. feature -- Duplication copy (other: attached EV_DYNAMIC_LIST_I [G]) -- Update current object using fields of object attached -- to `other', so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: attached EV_DYNAMIC_LIST_I [G]) -- Effect equivalent to that of: -- copy (`other' . deep_twin) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: attached EV_DYNAMIC_LIST_I [G] -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: attached EV_DYNAMIC_LIST_I [G]) -- Copy every field of `other' onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: attached EV_DYNAMIC_LIST_I [G] -- New object field-by-field identical to `other'. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: attached EV_DYNAMIC_LIST_I [G] -- New object equal to `Current' -- twin calls copy; to change copying/twining semantics, redefine copy. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen as_attached: attached EV_DYNAMIC_LIST_I [G] -- Attached version of Current -- (Can be used during transitional period to convert -- non-void-safe classes to void-safe ones.) -- (from ANY) frozen default: detachable EV_DYNAMIC_LIST_I [G] -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type `POINTER' -- (Avoid the need to write `p'.default for -- some `p' of type `POINTER'.) -- (from ANY) default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of `o' -- on standard output. -- (from ANY) frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY operating_environment_not_void: Result /= Void invariant index_within_bounds: is_usable implies (index >= 0 and then index <= count + 1) -- from EV_ANY_I interface_coupled: is_usable implies interface /= Void and then attached_interface.implementation = Current base_make_called: is_usable implies base_make_called -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2012, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 5949 Hollister Ave., Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class EV_DYNAMIC_LIST_I
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

-- Generated by Eiffel Studio --
For more details: docs.eiffel.com