Adding external iterators to an existing Eiffel class library - HAL

Adding external iterators to an existing Eiffel class
library
Olivier Zendra, Dominique Colnet
To cite this version:
Olivier Zendra, Dominique Colnet. Adding external iterators to an existing Eiffel class library.
32th conference on Technology of Object-Oriented Languages & Systems - TOOLS Pacific’99,
Nov 1999, Melbourne, Australia, IEEE Computer Society, pp.188 - 199, 1999, Technology of
Object-Oriented Languages and Systems, 1999. TOOLS 32. Proceedings. .
HAL Id: inria-00098784
https://hal.inria.fr/inria-00098784
Submitted on 26 Sep 2006
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
!"#$&%')(+*,.-0/1%'324+265
798;:=<#<?>A@CBEDCFC@HGID=JCGIKHJ9LM>AKENCBEO=J9LH>QPI@
RSBCTVU;WYX4ZE[\U^]?>A@CBCDEFC@HGID
RSB_Ta`
7I[AZC:_]#U;bcWedf9g_h
i ZC:_]kj4[\ZmlIKHGIKCB=n
oHp#q g=hEr=J o=pEs\tvu Lc>AKCNEBCOHJ9Lc>\P9@
RwB_Tx`+yEy{z|=}~€ƒ‚3„…„‡†„Sˆ‰\Š\}‹ˆŒ‚)}=
’,}‹“”†Qˆ3€–•k}„^|=}˜—)™_ˆ3ˆ})šM„a€›„w}‹“eœ=†\‚Œ€›„S€;†\š6
ŽA_E h q_t J oHp#q g u Lc>AKEN
RwB_Ta`‘yCy
i ZC:_]kj4[\Z
df9g_hž oCoau Lc>AKCNCBEOHJ9Lc>QPI@
RwB_TcŸ U¡<
[\ZC¢jYU^[\Z
oCo¤£9¥?¦=§Mp r
¨ b
oHp#q g_hEr=J oHp9s\t©uª¥«oCo `
ŽA_C h q_t J o=p#q g uª¥mo=p#q g=hEr_J oHpEs\t ª¬ p  s#t J o_p#q g6`
ZCWY<kj4[\Z
oHp#q g_hEr=J oHp9s\t¥«oCo
ZCW ¨ `
s\t f  t U;<
¨ b ŽA_C h q_t J o=p#q g u‡¥moHpkq g=hEr=J oHpEs\t ‡¬ p  sAt J oHp‹q ga`­ZCW ¨ `
pEs J § ¬C¬ u”® GCG9LEBCFEK¯U;<
¨ b1D=h s  oIt°uª¥ ŽA_C h q_t J oHpkq g ¥±¦=§Mp rx`ZCW ¨ `
pAt h#d u B²U;<
¨ b1D=h s  oIt°uª¥ ŽA_C h q_t J oHpkq gv pAt h#d³`­ZCW ¨ `
q h9´ t U;<
¨ b ŽA_C h q_t J o=p#q g u‡¥ ŽACC h q_t J oHp#q g… q hI´ t `ZEW ¨ `
¨
ZCW
µ …kv$v˜¶žv·
¸ ¹6ºª»E¼A½3¾
¿9ºÁÀ‹»EÂÁÃĹ6ºª»EÀkÅCÆ=ÇÉÈËÊÍÍ#»HÎÉÀσÍkÅE»EÆEÀ‹ÐªÑÍk»”́ÑÓÒIºÁÀ‹º‡Ê=Ç
ԅÕvÖ ÎQ×QЇЪØHÎ Ù#Ù)ÚxÚxÚ³Ç À‹ÌÐªÛ‡Í‹ÏÜÐ3Ç Æ9ÝÞßÍ#»MÇ ÂŒÍIÇ ÅEÃ9ÙkÆIÍ\Â)ًØ\ÊÍÍ#»MÇ ×\ЪÞß̛àá3¼k¼A½QÇ
¸ âY݌㌼A½)¾
亪сÂåâY݌ã3À‹ÅEÌæÐ3ÇYçvÍ#Ò_ÍßäËÑæè=݌Ìé\ЇºªÅEÂЪÅIºªÝ Ö ÑÒ9ºÁÀ)º‡Ê=Ç
ԅÕvÖ ÎQ×QЇЪØHÎ Ù#ًêkÍ#Ò_ÍkۇÍkÏÜÐ3Ç ÂŒÍkÞ.Ù‹ÝŒÑæè=݌̖Ù)ê#Í#Ò_ÍAًÛwЇºªÅ9ÂЪÅ9ºªÝ)Ù)с»CÆ9ÝëHÇ ×\ЪÞß̛àá3¼k¼A½QÇ
¸ ìxí=¼#¼‹¾
î
ÍkÞßс»EÑÓï\ÅE݅ìYÍ#́»EÝÐ6Àk»CÆ.ðv́сñQÑÓݺ…í=݌»EÆIºÁÀQÇðvØIЪÑÓÞßсã3À)ЪсÍ#»EÛYÍkÏcäÉÑæè=݌Ì=Ø9ºªÍkêkºÁÀ‹ÞßیÎ4éIÞÄÀḱÌÓäËсè=ÝÌ^à9òž×9ݳçvó Ô
äËÑæè=݌ÌxìYÍkÞߨEс́ݺ3ǔô¡»öõQ÷køÜù‘úÁû‹ü3ý3þÿ‡þü_úÁþ”ûkü =þ‡úÁùQü_û û ûSý
3þªúø žÿ ;þüEø¡þ kü
\þ kü
ªø¡þ
Qÿwû 9þ ÷A÷ 3àEØCÀkêkÝŒÛ 9á
IÇ=ôSä4äÉä ìYÍkÞߨEÅIЪݺ6éIÍ\ÂÑÓÝÐSÊ\à #ÅE»9Ýá3¼k¼#¼IÇ
¸ äË»EêA¼k¼‹¾
ô¡»QЪݺÁÀkÂЪсñAÝåéQÍkϖÐSÚxÀ)ºªÝåäÉ»9ê#с»EÝݺªÑ»Eê9ÇYäËсè=Ý̖âYÀkۇÝǻÑÓÒIºÁÀ‹º‡Ê=Ç
ԅÕvÖ ÎQ×QЇЪØHÎ Ù#ًÝсè=ÝÌ^Ç ÂŒÍkÞ.ًØIºªÍQÆ9ÅEÂЪÛÁًÒCÀ‹Û‡Ý)ًÂ̖À‹Û‡Û‡ÝŒÛÁًÒEÀkۇÝ#Ç ×\ЪÞß̛àËá3¼#¼k¼IÇ
¸ç
¼ ‹¾äºªÑÂ× ç
ÀkÞßÞÄÀQà Õ ÑÂÁ×CÀ)ºÁÆ …݌́ޔà Õ À‹ÌØE× #Í#×9»EۇÍ#»HàMÀk»CÆ #Ík×E» v́сۇۇÑÓÆ9ÝŒÛŒÇ þ kü kø›ø¡þÿÁü
Óþ ßþüEø
ûwý aþ
Óþ )þ‡úø žÿ ;þüEø¡þ Cûwýø kÿªþÇ4¹aÆEÆIсۇÍ#» ݌ۇ́ÝÊ\àHá3¼#¼ 9Ç
¸ çvÍkºÁ¼ ‹¾
AÀ‹ÂŒÍ#Ò çvÍkºªÝ#Ç
)þ‡úø Eø›ÿ 9úø Qÿªþ
ğ
3þªúø žÿ ;þüEø¡þ _ûwýÁø ‹ÿªþ Éû Iû‹ü=þüEø
ÜøÜù …þ Ç
äËÑæè=݌ÌMс»ÈºÁÀkÂЪÑÓÂÝ'éIݺªÑÝŒÛŒÇC¹6Æ9Æ9сۇÍ#» +݌ۇ́ÝÊ\à=ጼ#¼ QÇ
¸ ç Õ ‹¾
¹åÇxçvÍk̖ÆIÒ_ݺªê,Àk»EÆ îÇ Õ Í#Ò9ۇÍ#»MÇ
ø
ßøÜùEþ kü
\þ kü ƒø
Óþ ÄþüEø ‹ø ^ûküEÇ?¹6Æ9Æ9сۇÍ#»
݌ۇ́ÝÊ\à=á3¼ IÇ
¸ \ç³éI¼ ‹¾ âYÑÌÌ #Í3Ê AÀkÞß݌ÛYçvÍ#ۇ́с»Eê'À‹»CÆßçvÅIÊßé\Ъ݌݌́Ý#Ç MùEþ
kü
\þ 9þ‡ú Yú kø ›ûküEÇM¹aÆEÆIÑÓۇÍk» +ÝۇÌÓÝÊ\àEá3¼k¼ QÇ
¸ ˜ÝÊ9¼ #À‹¾âYݺ‡Ð‡ºÁÀk»CÆ ˜ÝÊ\ݺ3Ç …þ MùEþ ‹ü
\þÇYÈ˺ªÝŒ»\ÐªÑÂŒÝ vÀḱ̛àMጼ#¼ IÇ
¸ ˜ÝÊ9¼ kÒ9¾âYݺ‡Ð‡ºÁÀk»CÆ ˜ÝÊ\ݺ3Ç aþ
Óþ Cûwýø kÿªþ MùEþ
þ )þ‡úø žÿ ;þü9ø¡þ Éû Iûkü_þüEø ÿ kÿ ^þ ÁÇ4ȺªÝŒ»\ЪсŒÝ
vÀḱ̛àC¹6ÅEê#Å9Ûwгá3¼k¼ 9Ç
¸ íHìx잼A½)¾ ðv́сñQÑÓݺ4í=݌»EÆIºÁÀQà#î
ÍkÞßс»EÑÓï\ÅEÝxìYÍḱ»EÝÐ3àAÀk»CÆéIÅ9ã3Àk»9»EÝaìYÍḱÌÓс»HÇCä ߌс݌»\ÐËîvÊI»CÀ‹ÞßсÂYî
сۇØCÀ)ЪÂ×'ÚaÑæÐª×EÍ#ÅIÐ vÑæº
ЪÅEÀkÌC¿9ÅE»EÂЪÑÓÍk»ÄòÀkÒ9́݌یÇIòž×EÝvéIÞÄÀ‹ÌÓÌÓäËÑæè=݌Ì=ìYÍ#Þߨ9сÌÓݺ3ÇMô¡» ‹õAøÜù 6ü9ü
ÉûküŒý3þÿªþüCúÁþåû‹ü
3þªúø žÿ ;þüEø¡þ Yÿ‡û kÿ
ğ
ªø¡þ
kü
\þ kü
^ú kø ^û‹ü
÷ 3à_ñAÍ#́Å9ÞßÝ Qà
ØEÀkê#ÝÛåá Cá Iá#àጼ#¼A½\Ç
#$%&')($ * ,+ .-
0/1 2/435
!"
,6
87%69 1
7
:6
6 9
<; = >
,.?@(A ! B
0C .4D E
F BGH
FI
J1
K 6
L
M B :?N
BOJ P
Q BGR TS !8* BPUF Q($ V .
I
4K
X,!<4 Y4 ZY[\J] )^ : _Q B)`!8* ! Y B
0W / I
W/
6 4K
_6 <6
0aJbJc^ d,D 04* . e B
"I
4K
f 1
)f $(R V . ]
8^ c7
1
f 1
)f RC gD M BGH @?@ 8N0 hA S !8* 'i j 7
1
'k
i9 l
m hn ,4noS^pq`JrH>isnutvS
E> j!"!@ F !@]i^ " hnR*g*_ B ,h#%H>R^n+ dwM/gx
x43D2 D1