Provided by: libattean-perl_0.033-1_all 

NAME
Attean::API::Iterator - Typed iterator
VERSION
This document describes Attean::API::Iterator version 0.033
DESCRIPTION
The Attean::API::Iterator role defines a common API for typed iterators. This package also defines
several type-specific iterator roles:
• Attean::API::TripleIterator
• Attean::API::QuadIterator
• Attean::API::MixedStatementIterator
• Attean::API::ResultIterator
These roles will automatically be applied to iterators during construction when appropriate.
ATTRIBUTES
The following attributes exist:
"item_type"
A string indicating the type of elements returned by the iterator.
REQUIRED METHODS
The following methods are required by the Attean::API::Iterator role:
"next"
Returns the next element from the iterator, or "undef" upon exhaustion.
METHODS
The Attean::API::Iterator role provides default implementations of the following methods:
"elements"
Returns a list of all remaining elements in the iterator.
"map( \&mapper [, $result_type] )"
Returns a new Attean::API::Iterator object with each element mapped using the supplied &mapper
function. If the iterator elements are of the same type as those in the referent iterator, only a
mapping function is required. Otherwise, the supplied Type::Tiny $result_type object must indicate
the new iterator's type information.
"grep( \&filter )"
Returns a new Attean::API::Iterator object that filters elements from the referent iterator based on
whether calling "&filter( $element )" for each $element results in a true value.
"offset( $offset )"
Returns the Attean::API::Iterator referent after skipping the first $offset elements.
"limit( $limit )"
Returns a new Attean::API::Iterator object which returns the first $limit elements of the referent.
"materialize"
Returns a new Attean::API::RepeatableIterator object containing all the elements from the referent.
"debug( [$name] )"
Print each item as it is consumed (with the string generated by "as_string"), prepended by $name.
Methods on Roles Supporting Stringification
For iterators over roles that provide an "as_string" method, extra methods are provided. These iterators
are:
Attean::API::ResultOrTermIterator Attean::API::StatementIterator Attean::API::MixedStatementIterator
Attean::API::ResultIterator Attean::API::TermIterator
They provide the following methods:
"uniq"
Returns a new iterator providing unique results (based on the stringified value of the underlying
elements).
BUGS
Please report any bugs or feature requests to through the GitHub web interface at
<https://github.com/kasei/attean/issues>.
SEE ALSO
Attean::API::RepeatableIterator
AUTHOR
Gregory Todd Williams "<gwilliams@cpan.org>"
COPYRIGHT
Copyright (c) 2014--2022 Gregory Todd Williams. This program is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.
perl v5.36.0 2022-10-06 Attean::API::Iterator(3pm)