Provided by: libnet-cli-interact-perl_2.133420-1_all bug

NAME

       Net::CLI::Interact::Role::Iterator - Array-based Iterator

VERSION

       version 2.133420

SYNOPSIS

        my $count = $iter->count;

        $iter->reset;
        while ( $iter->has_next ) {
           print $iter->next;
        }

DESCRIPTION

       This module implements an array-based iterator which may be mixed-in to add management of
       a sequence of elements and processing of that sequence.

       The iterator is inspired by MooseX::Iterator but limited to arrays and adds many other
       facilities. The following section describes the methods provided by this class.

USAGE

       The slot used for storing iterator elements is named "_sequence" and you should write your
       consuming class to marshall data into this slot, perhaps via "BUILD" or "init_arg". For
       example:

        has '+_sequence' => (
           isa => 'ArrayRef[Thingy]',
           init_arg => 'things',
        );

INTERFACE

   count
       The number of elements currently stored in the iterator. Note that this is of course not
       the same as the index of the last item in the iterator (which is 0-based)

   first
       Returns the first item in the iterator.

   last
       Returns the last item in the iterator.

   item_at( $pos )
       Returns the item at the given position in the iterator, or throws an exception if $pos is
       past the end of the iterator. The position is 0-based.

   insert_at( $pos, $iter )
       Inserts the contents of the passed iterator starting at (not after) the position given.
       The passed iterator must also be a consumer of this role. The position is 0-based.

   append( $iter )
       Shorthand for "insert_at" when you want to add the contents of the passed iterator after
       the end of the sequence.

   idx( $pos? )
       Returns the index (0-based) of the current iterator cursor, or sets the cursor if a
       position (again, 0-based) is passed.

       An exception is thrown if you attempt to read the cursor position before having read any
       elements from the iterator, or if the iterator is empty.

   next
       Returns the next item in the iterator sequence, and advances the cursor.  Throws an
       exception if you have already reached the end of the sequence.

   has_next
       Returns true if there are further elements to be read from the iterator.

   peek
       Returns the next item in the sequence without advancing the position of the cursor. It
       returns "undef" if you are already at the end of the sequence.

   reset
       Resets the cursor so you can iterate through the sequence of elements again.

AUTHOR

       Oliver Gorwits <oliver@cpan.org>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2013 by Oliver Gorwits.

       This is free software; you can redistribute it and/or modify it under the same terms as
       the Perl 5 programming language system itself.