Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
5 / 5
PriorityQueueHeap
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
3 / 3
3
100.00% covered (success)
100.00%
5 / 5
 __construct(callable $callback_compare)
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
3 / 3
 compare($value1, $value2) // -> int [\SplHeap]
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 value($value) // -> mixed [\SEIDS\Heaps\AbstractHeap]
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
<?php namespace SEIDS\Heaps\Pairing;
//==============================================================================
// PHP SEIDS: Supplementary, Easily Interchangeable Data Structures
// 
// Copyright 2015, Daniel A.C. Martin
// Distributed under the MIT License.
// (See LICENSE file for details.)
//==============================================================================
class PriorityQueueHeap extends Heap
{
    protected $callback_compare; // callable
    
    public function __construct(callable $callback_compare)
    {
        $this->callback_compare = $callback_compare;
        
        parent::__construct();
    }
    
    protected function compare($value1, $value2) // -> int [\SplHeap]
    {
        return call_user_func($this->callback_compare, $value1->priority, $value2->priority);
    }
    
    protected function value($value) // -> mixed [\SEIDS\Heaps\AbstractHeap]
    {
        return $value->value;
    }
}