File: Iterator.pm

package info (click to toggle)
libur-perl 0.470%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 7,192 kB
  • sloc: perl: 61,814; javascript: 255; xml: 108; sh: 13; makefile: 9
file content (26 lines) | stat: -rw-r--r-- 468 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package UR::Value::Iterator;

use strict;
use warnings;
require UR;
our $VERSION = "0.47"; # UR $VERSION;

sub create {
    my $class = shift;
    my $set = $class->define_set(@_);
    my @members = $set->members;
    return $class->create_for_value_arrayref(\@members);
}

sub create_for_value_arrayref {
    my ($class, $arrayref) = @_;
    my @copy = @$arrayref;
    return bless { members => \@copy }, $class;
}

sub next {
    shift @{ shift->{members} };
}

1;