Changes for version 0.16 - 2023-09-28
- ENHANCEMENT
- document cache iterator's 'at' method (and make it work)
Documentation
Index of Iterator::Flex Manuals
Interfacing with non- Iterator::Flex things.
How to write an iterator
Iterator Basics
Caveats
Glossary
How Things Work
An Abstract overview of Iterators
Other Iterator Models
Serializing iterators
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
Compartmentalize Iterator::Flex::Method::Maker
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
Imported iterator throws
signal exhaustion by transitioning to exhausted state and throwing exception
signal exhaustion by returning a sentinel value.
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
abstract interface role for State
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 adapts another iterator
Numeric Sequence Iterator Class
Internal utilities
Provides
in lib/Iterator/Flex/Method.pm