PageRenderTime 11ms CodeModel.GetById 9ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/test/language/unclassified/aux_jlp8_operator.e

http://github.com/tybor/Liberty
Specman e | 83 lines | 50 code | 12 blank | 21 comment | 0 complexity | 904b049c4a520afd3ff83c7978f471d1 MD5 | raw file
 1-- This file is part of SmartEiffel The GNU Eiffel Compiler Tools and Libraries.
 2-- See the Copyright notice at the end of this file.
 3--
 4deferred class AUX_JLP8_OPERATOR[E]
 5
 6feature {ANY}
 7   run
 8      do
 9         before_run
10         for_each
11         after_run
12      end
13
14   make (p: AUX_JLP8_PROVIDER[E])
15      do
16         provider := p.twin
17      end
18
19   attach (p: AUX_JLP8_PROVIDER[E])
20      do
21         provider := p
22      end
23
24   is_runnable: BOOLEAN
25      do
26         Result := provider /= Void and then provider.is_runnable
27      end
28
29   abort
30      do
31         provider.abort
32      end
33
34   aborted: BOOLEAN
35      do
36         Result := provider.aborted
37      end
38
39   before_run
40      do
41      end
42
43   after_run
44      do
45      end
46
47   item_action (elem: E)
48      deferred
49      end
50
51   provider: AUX_JLP8_PROVIDER[E]
52
53   for_each
54      do
55         from
56            provider.start
57         until
58            provider.exhausted
59         loop
60            item_action(provider.item)
61            provider.next
62         end
63      end
64
65end -- class AUX_JLP8_OPERATOR
66--
67-- ------------------------------------------------------------------------------------------------------------------------------
68-- Copyright notice below. Please read.
69--
70-- SmartEiffel is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License,
71-- as published by the Free Software Foundation; either version 2, or (at your option) any later version.
72-- SmartEiffel is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty
73-- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have
74-- received a copy of the GNU General Public License along with SmartEiffel; see the file COPYING. If not, write to the Free
75-- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
76--
77-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
78-- Copyright(C) 2003-2006: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
79--
80-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
81--
82-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
83-- ------------------------------------------------------------------------------------------------------------------------------