class SEQ [G -> attached ANY] General cluster: mathmodels description: "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:" create: make_empty, make_from_array Ancestors DEBUG_OUTPUT* ITERABLE* [G] Queries appended alias "|->" (v: G): [like Current] SEQ [G] as_array: ARRAY [G] as_function: FUN [INTEGER_32, G] comprehension alias "|" (exp: PREDICATE [PAIR [INTEGER_32, G]]): [like Current] SEQ [G] concatenated alias "|++|" (other: [like Current] SEQ [G]): [like Current] SEQ [G] count alias "#": INTEGER_32 debug_output: STRING_8 first: G front: [like Current] SEQ [G] has (v: G): BOOLEAN hold_count (exp: PREDICATE [PAIR [INTEGER_32, G]]): INTEGER_32 inserted (v: G; i: INTEGER_32): [like Current] SEQ [G] is_contiguous_subseq_of (other: [like Current] SEQ [G]): BOOLEAN is_empty: BOOLEAN is_equal (other: [like Current] SEQ [G]): BOOLEAN is_subsequence_of alias "|<:" (other: [like Current] SEQ [G]): BOOLEAN item alias "[]" (i: INTEGER_32): G last: G lower: INTEGER_32 new_cursor: ITERATION_CURSOR [G] out: STRING_8 overriden (v: G; i: INTEGER_32): [like Current] SEQ [G] prepended alias "|<-" (v: G): [like Current] SEQ [G] removed (i: INTEGER_32): [like Current] SEQ [G] reversed: [like Current] SEQ [G] slice (a_start, a_end, a_step: INTEGER_32): [like Current] SEQ [G] subsequenced (i, j: INTEGER_32): [like Current] SEQ [G] tail: [like Current] SEQ [G] twin2: [like Current] SEQ [G] upper: INTEGER_32 valid_position (pos: INTEGER_32): BOOLEAN Commands append (v: G) concatenate (other: [like Current] SEQ [G]) insert (v: G; i: INTEGER_32) make_empty make_from_array (a: ARRAY [G]) override (v: G; i: INTEGER_32) prepend (v: G) remove (i: INTEGER_32) reverse subsequence (i, j: INTEGER_32) Constraints value semantics value semantics value semantics value semantics properties
Generated by ISE EiffelStudio