1package Graph::SPTHeapElem; 2 3use strict; 4use vars qw($VERSION @ISA); 5use Heap071::Elem; 6 7use base 'Heap071::Elem'; 8 9$VERSION = 0.01; 10 11sub new { 12 my $class = shift; 13 bless { u => $_[0], v => $_[1], w => $_[2] }, $class; 14} 15 16sub cmp { 17 ($_[0]->{ w } || 0) <=> ($_[1]->{ w } || 0) || 18 ($_[0]->{ u } cmp $_[1]->{ u }) || 19 ($_[0]->{ u } cmp $_[1]->{ v }); 20} 21 22sub val { 23 @{ $_[0] }{ qw(u v w) }; 24} 25 261; 27