The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.12 - 2021-10-05

  • First public release
  • INCOMPATIBILITY
    • explicitly requires Perl v5.28
    • yet another radical API change and refactoring. hopefully the last!
  • ENHANCEMENTS
    • lots of documentation. still not complete
    • better handling of proxy iterators
    • beginning of error handling
  • TODO
    • icycle should handle any rewindable iterator, not just arrays

Documentation

Index of Iterator::Flex Manuals
Interfacing with non- Iterator::Flex things.
How to write an iterator
An Abstract overview of Iterators
Other Iterator Models
How to use an Iterator::Flex iterator

Modules

Iterators with flexible behaviors
Array Iterator Class
ArrayLike Iterator Class
Iterator object
Cache Iterator Class
Iterator Generators and Adapters
Array Cycle Iterator Class
Create on-the-fly Iterator::Flex classes/objects
Failure classes for Iterator::Flex
Freeze an iterator after every next
Grep Iterator Class
Map Iterator Class
An iterator which produces a Cartesian product of iterators
Iterator Methods to add Iterator::Flex Iterator modifiers
Implement current as a closure stored in the registry
Implement current as a method
signal error by throwing
Imported iterator returns a sentinel
signal exhaustion by setting exhausted flag;
signal exhaustion by setting exhausted flag;
signal exhaustion by setting exhausted flag;
Role to add serialization capability to an Iterator::Flex::Base
Role for closure iterator which closes over self
Construct a next() method for iterators without closed over $self
Implement prev as a closure stored in the registry
Implement prev as a method
Implement reset as a closure stored in the registry
Implement reset as a method
Implement rewind as a closure stored in the registry
Implement rewind as a method
Iterator State is kept in a closure variable
Iterator State is kept in the registry
Role based utilities
wrap imported iterator which returns a sentinel on exhaustion
Construct a next() method for a coderef which expects to be passed an object ref
Role to add throw on exhaustion to an iterator which sets is_exhausted.
Numeric Sequence Iterator Class
Internal utilities

Provides

in lib/Iterator/Flex/Method.pm