line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Data::Range::Compare::Stream::Iterator::Stack; |
2
|
|
|
|
|
|
|
|
3
|
3
|
|
|
3
|
|
735
|
use strict; |
|
3
|
|
|
|
|
5
|
|
|
3
|
|
|
|
|
84
|
|
4
|
3
|
|
|
3
|
|
12
|
use warnings; |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
79
|
|
5
|
3
|
|
|
3
|
|
12
|
use base qw(Data::Range::Compare::Stream::Iterator::Base); |
|
3
|
|
|
|
|
5
|
|
|
3
|
|
|
|
|
752
|
|
6
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
sub new { |
8
|
14
|
|
|
14
|
0
|
942
|
my ($class,%args)=@_; |
9
|
14
|
|
|
|
|
108
|
my $self=$class->SUPER::new(stack=>[],%args); |
10
|
|
|
|
|
|
|
} |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
sub stack_push { |
13
|
3
|
|
|
3
|
1
|
7
|
my ($self,$it)=@_; |
14
|
3
|
|
|
|
|
4
|
push @{$self->{stack}},$it; |
|
3
|
|
|
|
|
9
|
|
15
|
|
|
|
|
|
|
} |
16
|
|
|
|
|
|
|
|
17
|
|
|
|
|
|
|
sub has_next { |
18
|
8264
|
|
|
8264
|
0
|
12361
|
my ($self)=@_; |
19
|
8264
|
|
|
|
|
11565
|
my $stack=$self->{stack}; |
20
|
8264
|
|
|
|
|
18085
|
while($#$stack!=-1) { |
21
|
8270
|
100
|
|
|
|
24416
|
return 1 if $stack->[0]->has_next; |
22
|
22
|
|
|
|
|
92
|
shift @$stack; |
23
|
|
|
|
|
|
|
} |
24
|
16
|
|
|
|
|
70
|
return 0; |
25
|
|
|
|
|
|
|
} |
26
|
|
|
|
|
|
|
|
27
|
8247
|
|
|
8247
|
1
|
25498
|
sub get_next { $_[0]->{stack}->[0]->get_next } |
28
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
|
30
|
|
|
|
|
|
|
1; |