Acme-OCEORA-Utils

 view release on metacpan or  search on metacpan

lib/Tie/Cycle.pm  view on Meta::CPAN

	$self->[CURSOR_COL] = 0;
	$self->[COUNT_COL]  = scalar @shallow_copy;
	$self->[ITEM_COL]   = \@shallow_copy;
	}

sub reset { $_[0]->[CURSOR_COL] = 0 }

sub previous {
	my( $self ) = @_;

	my $index = $self->_cursor - 1;
	$self->[CURSOR_COL] %= $self->_count;

	return $self->_item( $index );
	}

sub next {
	my( $self ) = @_;

	my $index = $self->_cursor + 1;
	$self->[CURSOR_COL] %= $self->_count;

	return $self->_item( $index );
	}

sub _cursor  { $_[0]->[CURSOR_COL] }
sub _count   { $_[0]->[COUNT_COL] }
sub _item    {
	my( $self, $index ) = @_;
	$index = defined $index ? $index : $self->_cursor;
	$self->[ITEM_COL][ $index ]
	}

"Tie::Cycle";

__END__

=encoding utf8

=head1 NAME



( run in 0.243 second using v1.01-cache-2.11-cpan-a5abf4f5562 )