Hash-PriorityQueue
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Hash/PriorityQueue.pm view on Meta::CPAN
my $elem = shift(@{$self->{queue}->{$self->{min_key}}});
if (!@{$self->{queue}->{$self->{min_key}}}) {
delete($self->{queue}->{$self->{min_key}});
$self->{min_key} = min keys(%{$self->{queue}});
}
delete($self->{prios}->{$elem});
return $elem;
}
sub update {
my ($self, $payload, $priority) = @_;
my $op = $self->{prios}->{$payload};
if (defined($op)) {
$self->{queue}->{$op} = [ grep { $_ ne $payload } @{$self->{queue}->{$op}} ];
if (!@{$self->{queue}->{$op}}) {
delete($self->{queue}->{$op});
}
}
$self->{prios}->{$payload} = $priority;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.505 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )