Ticket #347 (closed todo: done)

Opened 2 years ago

Last modified 7 weeks ago

Itertools

Reported by: ichthyo Owned by: ichthyo
Priority: lesser Milestone: 1alpha
Component: lumieraProc Keywords: lib
Cc: Blocked By: #182, #475, #491
Blocking: #283, #675, #874

Description

Start a collection of Iterator-tools, similar to the Python module, or the Commons-Collections IteratorUtils, or the respective features of Groovy.

Of course we're not writing a library, so we'll add here what is needed, starting with

  • a filtered iterator
  • a transform iterator

Possibly also (if not too difficult to implement)

  • a chain iterator
  • a dropwhile

Change History

comment:1 Changed 2 years ago by ichthyo

  • Status changed from new to accepted

did the first steps here, due to the ContentsQuery, which can be implemented quite elegantly with a filter on top of the scope enumeration capability of the PlacementIndex

comment:2 Changed 2 years ago by ichthyo

implemented an transform iterator, allowing to define PlacementIndex::iterator in terms of an transformer and a range yielded from the embedded hashtable

comment:3 Changed 2 years ago by ichthyo

  • Blocked By 475 added

comment:4 Changed 2 years ago by ichthyo

  • Blocking 283 added

comment:5 Changed 2 years ago by ichthyo

  • Blocked By 486 added

comment:6 Changed 2 years ago by ichthyo

  • Blocked By 491 added

comment:7 Changed 2 years ago by ichthyo

added caching to FilterIter, implemented duplicate-filtering iterator

comment:8 Changed 23 months ago by ichthyo

  • Blocked By 486 removed

(In #486) ugly, but not an urgent problem right now. Pushing to future

comment:9 Changed 23 months ago by ichthyo

  • Status changed from accepted to closed
  • Resolution set to done

The basics are implemented and have proven to be very helpful already. Leaving the extensions to be done on demand.

comment:10 Changed 16 months ago by ichthyo

  • Blocking 675 added

comment:11 Changed 7 weeks ago by ichthyo

  • Blocking 874 added
Note: See TracTickets for help on using tickets.