NAME

Iterator::Flex::Base - Iterator object

VERSION

version 0.16

METHODS

_is_iterator

$class->_is_iterator( $obj  );

Returns true if an object is an iterator, where iterator is defined as

__iter__

$sub = $iter->__iter__;

Returns the subroutine which returns the next value from the iterator.

may

$bool = $iter->may( $method );

Similar to can, except it checks that the method can be called on the iterators which $iter depends on. For example, it's possible that $iter implements a rewind method, but that it's dependencies do not. In that case can will return true, but may will return false.

_namespaces

@namespaces = $class->_namespaces;

Returns a list of namespaces to search for classes. When called on the base class, this returns

Iterator::Flex

_role_namespaces

@namespaces = $class->_role_namespaces;

Returns a list of namespaces to search for roles. When called on the base class, returns

Iterator::Flex::Role

_add_roles

$class->_add_roles( @roles );

Add roles to the class. If the name begins with a +, it is assumed to be a fully qualified name, otherwise it is searched for in the namespaces returned by the _role_namespaces class method.

is_exhausted

An object method which returns true if the iterator is in the exhausted state

set_exhausted

Internal method.

An object method which sets the iterator state status to exhausted.

It does not signal exhaustion.

is_error

An object method which returns true if the iterator is in the error state

set_error

Internal method.

An object method which sets the iterator state status to error.

It does not signal error.

INTERNALS

SUPPORT

Bugs

Please report any bugs or feature requests to bug-iterator-flex@rt.cpan.org or through the web interface at: https://rt.cpan.org/Public/Dist/Display.html?Name=Iterator-Flex

Source

Source is available at

https://gitlab.com/djerius/iterator-flex

and may be cloned from

https://gitlab.com/djerius/iterator-flex.git

SEE ALSO

Please see those modules/websites for more information related to this module.

AUTHOR

Diab Jerius <djerius@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Smithsonian Astrophysical Observatory.

This is free software, licensed under:

The GNU General Public License, Version 3, June 2007