Branch: Tag:

2004-11-26

2004-11-26 17:39:00 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Updated generic iteration code to support and use Iterator()->next().
Updated corresponding documentation.

Rev: src/iterators.cmod:1.56

114:    "_debug": "predef::Debug.dump_backlog":1,    "_port": "predef::Stdio.Port":1,    "_verify_internals()": "predef::Debug.memory_usage":1, +  "`%": "predef::Array.partition":1, +  "`&": "predef::Calendar":1, +  "`*()": "7.2::String.implode_nicely":1, "7.2::String.strmult":2, "predef::Array.splice":1, "predef::String.implode_nicely":1, +  "`+": "predef::enumerate":1, +  "`+()": "predef::Array.splice":1, +  "`-()": "predef::Array.splice":1, +  "`/": "predef::Array.partition":1, +  "`/()": "predef::Array.everynth":1, "predef::Array.splice":1, "predef::String.count":1, "predef::array_sscanf":1, +  "`<": "predef::sort":1, +  "`<()": "predef::sort":1, +  "`==": "predef::Array.uniq":1, "predef::sort":1, +  "`==()": "predef::copy_value":1, "predef::replace":1, "predef::search":1, "predef::sort":1, +  "`>": "predef::sort":1, +  "`>()": "predef::Array.sort_array":2, "predef::sort":1,    "accept()": "predef::Stdio.File.set_buffer":1,    "aggregate_multiset()": "predef::mkmultiset":1,    "array ": "predef::Image.GIF.__decode":1, "predef::Image.GIF._decode":2, "predef::Image.ILBM.__decode":1, "predef::Image.ILBM._decode":1,
143:    "files.UDP": "predef::Stdio.UDP":1,    "flag": "predef::Stdio.UDP.send":1,    "float ": "predef::Calendar.Time.TimeofDay.hour_no":1, "predef::Calendar.Time.TimeofDay.julian_day":1, "predef::Calendar.YMD.YMD.fraction_no":1, "predef::Image.Layer.set_alpha_value":1, -  "foreach": "predef::Iterator":1, "predef::Iterator.`+=":2, "predef::get_iterator":1, +  "foreach": "predef::Iterator":1, "predef::Iterator.`+=":3, "predef::get_iterator":1,    "foreach()": "predef::enumerate":2, "predef::filter":1, "predef::map":1,    "gauge": "predef::gethrvtime":1,    "gauge()": "predef::gethrvtime":1,
170:    "mixed ": "predef::Image.Layer.set_misc_value":2,    "object ": "predef::Image.ANY._decode":2, "predef::Image.AVS.decode":1, "predef::Image.BMP.decode":2, "predef::Image.Color.Color.grey":2, "predef::Image.Color.Color.light":5, "predef::Image.Color.guess":1, "predef::Image.Color.rgb":5, "predef::Image.Colortable.`+":1, "predef::Image.Colortable.`-":1, "predef::Image.Colortable.cast":1, "predef::Image.Colortable.create":5, "predef::Image.Colortable.cubicles":3, "predef::Image.Colortable.floyd_steinberg":2, "predef::Image.Colortable.full":1, "predef::Image.Colortable.image":1, "predef::Image.Colortable.map":6, "predef::Image.Colortable.nodither":1, "predef::Image.Colortable.ordered":5, "predef::Image.Colortable.randomcube":4, "predef::Image.Colortable.reduce":2, "predef::Image.Colortable.rigid":2, "predef::Image.Colortable.spacefactors":1, "predef::Image.GIF.decode":3, "predef::Image.GIF.decode_layers":4, "predef::Image.HRZ.decode":1, "predef::Image.ILBM.decode":3, "predef::Image.Image.`&":3, "predef::Image.Image.`*":4, "predef::Image.Image.`+":3, "predef::Image.Image.`-":3, "predef::Image.Image.`/":6, "predef::Image.Image.`|":3, "predef::Image.Image.apply_curve":3, "predef::Image.Image.apply_matrix":3, "predef::Image.Image.apply_max":3, "predef::Image.Image.autocrop":5, "predef::Image.Image.bitscale":5, "predef::Image.Image.box":3, "predef::Image.Image.change_color":2, "predef::Image.Image.circle":3, "predef::Image.Image.clone":4, "predef::Image.Image.color":3, "predef::Image.Image.copy":4, "predef::Image.Image.dct":1, "predef::Image.Image.distancesq":2, "predef::Image.Image.gamma":2, "predef::Image.Image.grey":2, "predef::Image.Image.grey_blur":1, "predef::Image.Image.invert":1, "predef::Image.Image.line":3, "predef::Image.Image.match":4, "predef::Image.Image.mirrorx":1, "predef::Image.Image.mirrory":1, "predef::Image.Image.modify_by_intensity":1, "predef::Image.Image.orient":1, "predef::Image.Image.outline":10, "predef::Image.Image.paste":2, "predef::Image.Image.paste_alpha":2, "predef::Image.Image.paste_alpha_color":6, "predef::Image.Image.paste_mask":2, "predef::Image.Image.phaseh":4, "predef::Image.Image.polyfill":1, "predef::Image.Image.random":4, "predef::Image.Image.rgb_to_hsv":2, "predef::Image.Image.rgb_to_yuv":2, "predef::Image.Image.rotate":4, "predef::Image.Image.rotate_ccw":1, "predef::Image.Image.rotate_cw":1, "predef::Image.Image.scale":6, "predef::Image.Image.select_from":2, "predef::Image.Image.setcolor":2, "predef::Image.Image.setpixel":4, "predef::Image.Image.skewx":8, "predef::Image.Image.skewy":8, "predef::Image.Image.test":2, "predef::Image.Image.threshold":4, "predef::Image.Image.tuned_box":1, "predef::Image.Image.write_lsb_rgb":2, "predef::Image.Layer.autocrop":2, "predef::Image.Layer.clone":1, "predef::Image.Layer.crop":1, "predef::Image.Layer.set_alpha_value":1, "predef::Image.Layer.set_fill":4, "predef::Image.Layer.set_image":2, "predef::Image.Layer.set_mode":1, "predef::Image.Layer.set_offset":1, "predef::Image.Layer.set_tiled":1, "predef::Image.PCX.decode":1, "predef::Image.PNM.decode":1, "predef::Image.PVR.decode":2, "predef::Image.RAS.decode":1, "predef::Image.TGA._decode":1, "predef::Image.TGA.decode":1, "predef::Image.TIM.decode":2, "predef::Image.TTF.Face.`()":1, "predef::Image.TTF.Face.flush":1, "predef::Image.TTF.`()":2, "predef::Image.X.decode_pseudocolor":1, "predef::Image.X.decode_truecolor":2, "predef::Image.XBM._decode":2, "predef::Image.XBM.decode":1, "predef::Image.XCF.___decode":1, "predef::Image.XCF.__decode":1, "predef::Image.XCF.decode":1, "predef::Image.XFace.decode":2, "predef::Image.XFace.decode_header":2, "predef::Image.XWD.decode":1, "predef::Mird.Glue.Mird.sync":2, "predef::Mird.Glue.Transaction.delete_table":1, "predef::Mird.Glue.Transaction.depend_table":1, "predef::Mird.Glue.Transaction.new_hashkey_table":2, "predef::Mird.Glue.Transaction.resolve":1, "predef::Mird.Glue.Transaction.store":2,    "objects": "predef::master.objects_reverse_lookup":1, +  "predef::`!()": "lfun::`!":1, +  "predef::`%()": "lfun::`%":1, "lfun::``%":1, +  "predef::`&()": "lfun::`&":1, "lfun::``&":1, +  "predef::`*()": "lfun::`*":1, "lfun::``*":1, +  "predef::`+": "lfun::`+":2, "lfun::`+=":2, "lfun::``+":2, +  "predef::`+()": "lfun::`+":1, "lfun::`+=":1, "lfun::``+":1, +  "predef::`-": "lfun::`-":1, "lfun::``-":1, +  "predef::`-()": "lfun::`-":1, "lfun::``-":1, +  "predef::`->()": "lfun::`->":1, +  "predef::`->=()": "lfun::`->=":1, +  "predef::`/()": "lfun::`/":1, "lfun::``/":1, +  "predef::`<()": "lfun::`<":1, +  "predef::`<<()": "lfun::`<<":1, "lfun::``<<":1, +  "predef::`==()": "lfun::`==":1, +  "predef::`>()": "lfun::`>":1, +  "predef::`>>()": "lfun::`>>":1, "lfun::``>>":1, +  "predef::`[..]": "lfun::`[..]":1, "lfun::`[]":2, "predef::Pike":1, +  "predef::`[]()": "lfun::`[]":1, +  "predef::`[]=()": "lfun::`[]=":1, +  "predef::`^()": "lfun::`^":1, "lfun::``^":1, +  "predef::`|()": "lfun::``|":1, "lfun::`|":1, "predef::Stdio.File.pipe":1, +  "predef::`~()": "lfun::`~":1,    "predef::foreach()": "lfun::_get_iterator":1, -  +  "predef::sizeof()": "lfun::_sizeof":2,    "query()": "predef::Sql.postgres.big_query":1,    "random": "lfun::_random":1,    "read_oob_cb": "predef::Stdio.File.set_read_callback":1,
179:    "second.datetime": "predef::Calendar.YMD.datetime":1,    "set_short_namespaces()": "predef::Parser.XML.Tree.VirtualNode.get_short_attributes":1,    "setuid": "predef::Process.create_process.create":2, +  "sizeof": "predef::ADT.History._sizeof":1, "predef::ADT.Stack._sizeof":1, "predef::strlen":2, +  "sizeof()": "predef::ADT.BitBuffer._sizeof":1, "predef::aggregate":1, "predef::aggregate_mapping":1, "predef::allocate":1,    "string ": "predef::Calendar.TZnames._zone_tab":1, "predef::Calendar.Time.format_iso_ymd":22, "predef::Calendar.YMD.YMD.fraction_no":9, "predef::Calendar.YMD.format_iso":5, "predef::Calendar.YMD.format_iso_ymd":20, "predef::Image.AVS.decode":1, "predef::Image.BMP.encode":4, "predef::Image.Color.Color.cast":1, "predef::Image.Color.Color.hex":4, "predef::Image.GIF._encode":1, "predef::Image.GIF._gce_block":1, "predef::Image.GIF._render_block":1, "predef::Image.GIF.encode":12, "predef::Image.GIF.end_block":1, "predef::Image.GIF.header_block":4, "predef::Image.GIF.netscape_loop_block":2, "predef::Image.GIF.render_block":5, "predef::Image.HRZ.decode":1, "predef::Image.ILBM.encode":2, "predef::Image.Image.blur":1, "predef::Image.Image.cast":1, "predef::Image.Image.make_ascii":1, "predef::Image.Image.write_lsb_rgb":2, "predef::Image.Layer.cast":1, "predef::Image.Layer.set_mode":1, "predef::Image.PCX.encode":4, "predef::Image.PNM.encode":9, "predef::Image.PVR.encode":2, "predef::Image.RAS.encode":2, "predef::Image.TGA.encode":2, "predef::Image.X.encode_pseudocolor":2, "predef::Image.X.encode_truecolor":4, "predef::Image.XBM.encode":2, "predef::Image.XFace.encode":2, "predef::Mird.Glue.Mird.fetch":1, "predef::Mird.Glue.Transaction.store":1, "predef::Protocols.HTTP.Server.filename_to_type":2, "predef::Protocols.HTTP.Server.http_date":1, "predef::Protocols.HTTP.Server.http_decode_string":1,    "supertimerange": "predef::Calendar.TimeRange.`/":1,    "this_program": "lfun::`+=":1,
202:      Reference source: Reference targets.    + "7.2::String.implode_nicely": "`*()" + "7.2::String.strmult": "`*()"   "7.4::": "7.5::"   "7.4::ADT.Heap": "7.6::"   "7.4::Array": "7.5::"
238:   "7.4::Thread": "7.5::"   "lfun::_get_iterator": "predef::foreach()"   "lfun::_random": "random" - "lfun::`+=": "this_program" + "lfun::_sizeof": "predef::sizeof()" + "lfun::`!": "predef::`!()" + "lfun::`%": "predef::`%()" + "lfun::`&": "predef::`&()" + "lfun::`*": "predef::`*()" + "lfun::`+": "predef::`+" "predef::`+()" + "lfun::`+=": "predef::`+" "predef::`+()" "this_program" + "lfun::`-": "predef::`-" "predef::`-()" + "lfun::`->": "predef::`->()" + "lfun::`->=": "predef::`->=()" + "lfun::`/": "predef::`/()" + "lfun::`<": "predef::`<()" + "lfun::`<<": "predef::`<<()" + "lfun::`==": "predef::`==()" + "lfun::`>": "predef::`>()" + "lfun::`>>": "predef::`>>()" + "lfun::`[..]": "predef::`[..]" + "lfun::`[]": "predef::`[..]" "predef::`[]()" + "lfun::`[]=": "predef::`[]=()" + "lfun::`^": "predef::`^()" + "lfun::``%": "predef::`%()" + "lfun::``&": "predef::`&()" + "lfun::``*": "predef::`*()" + "lfun::``+": "predef::`+" "predef::`+()" + "lfun::``-": "predef::`-" "predef::`-()" + "lfun::``/": "predef::`/()" + "lfun::``<<": "predef::`<<()" + "lfun::``>>": "predef::`>>()" + "lfun::``^": "predef::`^()" + "lfun::``|": "predef::`|()" + "lfun::`|": "predef::`|()" + "lfun::`~": "predef::`~()"   "predef::7.6.modules.Stdio": "\"../../../modules/Stdio.pmod/module.pmod\""   "predef::ADT": "_ADT" -  + "predef::ADT.BitBuffer._sizeof": "sizeof()" + "predef::ADT.History._sizeof": "sizeof" + "predef::ADT.Stack._sizeof": "sizeof" + "predef::Array.everynth": "`/()" + "predef::Array.partition": "`%" "`/" + "predef::Array.sort_array": "`>()" + "predef::Array.splice": "`*()" "`+()" "`-()" "`/()" + "predef::Array.uniq": "`=="   "predef::Cache.Storage.Base.aget": "Cache.Data"   "predef::Cache.Storage.Base.get": "Cache.Data" -  + "predef::Calendar": "`&"   "predef::Calendar.Calendar.now": ".TimeRanges.TimeRange"   "predef::Calendar.Event.Day_Event.next": ".TimeRanges.TimeRange"   "predef::Calendar.Event.Day_Event.previous": ".TimeRanges.TimeRange"
529:   "predef::Mird.Mird.vzTable": "v0Table"   "predef::Parser.RCS": "Parser._RCS"   "predef::Parser.XML.Tree.VirtualNode.get_short_attributes": "set_short_namespaces()" + "predef::Pike": "predef::`[..]"   "predef::Pike.Backend.`()": "main()"   "predef::Pike.Backend.add_file": "main()"   "predef::Pike.DefaultBackend": "main()"
589:   "predef::Stdio.File.create": "chmod()" "in"   "predef::Stdio.File.line_iterator": "LineIterator"   "predef::Stdio.File.lock": "Stdio.FileLockKey" + "predef::Stdio.File.pipe": "predef::`|()"   "predef::Stdio.File.set_buffer": "accept()"   "predef::Stdio.File.set_close_on_exec": "exec()"   "predef::Stdio.File.set_read_callback": "close_cb" "read_oob_cb" "write_cb" "write_oob_cb"
602:   "predef::Stdio.UDP.send": "flag"   "predef::Stdio.async_cp": "main()"   "predef::Stdio.sendfile": "main()" + "predef::String.count": "`/()" + "predef::String.implode_nicely": "`*()"   "predef::Tools.AutoDoc.ProcessXML.postProcess": "cleanUndocumented()" "resolveRefs()"   "predef::Tools.Hilfe.Evaluator.parse_expression": "Expression"   "predef::Tools.Hilfe.ParserState.read": "Expression"
613:   "predef::Yp": "\"___Yp\""   "predef::_Ffmpeg.ffmpeg.set_codec_param": "get_codec_params()"   "predef::_typeof": "typeof()" + "predef::aggregate": "sizeof()" + "predef::aggregate_mapping": "sizeof()" + "predef::allocate": "sizeof()" + "predef::array_sscanf": "`/()"   "predef::backtrace": "catch()" -  + "predef::copy_value": "`==()"   "predef::describe_backtrace": "catch" "catch()"   "predef::describe_error": "catch" - "predef::enumerate": "foreach()" + "predef::enumerate": "`+" "foreach()"   "predef::filter": "foreach()"   "predef::get_all_groups": "getgrent" "getgrent()"   "predef::get_all_users": "getpwent" "getpwent()"
633:   "predef::master.objects_reverse_lookup": "objects"   "predef::mkmultiset": "aggregate_multiset()"   "predef::random": "lfun::random" + "predef::replace": "`==()" + "predef::search": "`==()" + "predef::sort": "`<" "`<()" "`==" "`==()" "`>" "`>()" + "predef::strlen": "sizeof"   "predef::throw": "catch"