Attean::API::Iterator(3pm)

Attean::API::Iterator3pm

Typed iterator

Version

This document describes Attean::API::Iterator version 0.035

Overview

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).

Releases

6 releases since Debian 8 (Jessie); the text changed 5 times.

  1. 8
  2. 9
  3. 10
  4. 11
  5. 12
  6. 13

Bugs

Please report any bugs or feature requests to through the GitHub web interface at <https://github.com/kasei/attean/issues>.

Author

Gregory Todd Williams "<[email protected]>"

From libattean-perl 0.035-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.