Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
ArcFibonacciHeap< GT, Distance, Access_Heap_Node > Class Template Reference

#include <archeap.H>

Collaboration diagram for ArcFibonacciHeap< GT, Distance, Access_Heap_Node >:
[legend]

Public Types

using handle_type = typename Heap::handle_type
 

Public Member Functions

Distanceget_distance ()
 Return the distance functor used to compare arcs in this heap.
 
 ArcFibonacciHeap (Distance __dist=Distance(), Access_Heap_Node acc=Access_Heap_Node())
 Construct an empty Fibonacci arc heap with the given distance functor and heap-node access policy.
 
 ArcFibonacciHeap (const ArcFibonacciHeap &)=delete
 Copying is disabled (heap manages internal node memory)
 
ArcFibonacciHeapoperator= (const ArcFibonacciHeap &)=delete
 
 ArcFibonacciHeap (ArcFibonacciHeap &&other) noexcept
 Move construction transfers ownership of heap nodes.
 
ArcFibonacciHeapoperator= (ArcFibonacciHeap &&other) noexcept
 Move assignment transfers ownership of heap nodes.
 
void put_arc (typename GT::Arc *arc, typename GT::Node *tgt)
 Insert or update an arc associated with a target node, keeping the smallest-distance arc per node in the heap.
 
GT::Arcget_min_arc ()
 Extract the arc with minimum distance from the heap and clear its node-to-heap mapping.
 
bool is_empty () const noexcept
 Return true if the heap is empty.
 
void empty ()
 Remove all heap nodes and delete their memory.
 
 ~ArcFibonacciHeap ()
 Destructor. Clears all remaining heap nodes.
 

Private Types

using Compare = Distance_Compare< GT, Distance >
 
using Heap = Fibonacci_Heap< typename GT::Arc *, Compare >
 

Private Member Functions

handle_typehandle_ref (typename GT::Node *p)
 

Private Attributes

Distance dist
 
Access_Heap_Node access_node
 
Compare dist_cmp
 
Heap heap
 

Detailed Description

template<class GT, class Distance, class Access_Heap_Node>
class ArcFibonacciHeap< GT, Distance, Access_Heap_Node >

Definition at line 177 of file archeap.H.

Member Typedef Documentation

◆ Compare

Definition at line 179 of file archeap.H.

◆ handle_type

◆ Heap

Constructor & Destructor Documentation

◆ ArcFibonacciHeap() [1/3]

Construct an empty Fibonacci arc heap with the given distance functor and heap-node access policy.

Definition at line 202 of file archeap.H.

◆ ArcFibonacciHeap() [2/3]

Copying is disabled (heap manages internal node memory)

◆ ArcFibonacciHeap() [3/3]

Move construction transfers ownership of heap nodes.

Definition at line 214 of file archeap.H.

◆ ~ArcFibonacciHeap()

Destructor. Clears all remaining heap nodes.

Definition at line 289 of file archeap.H.

References ArcFibonacciHeap< GT, Distance, Access_Heap_Node >::empty().

Member Function Documentation

◆ empty()

◆ get_distance()

Return the distance functor used to compare arcs in this heap.

Definition at line 198 of file archeap.H.

References ArcFibonacciHeap< GT, Distance, Access_Heap_Node >::dist.

◆ get_min_arc()

◆ handle_ref()

◆ is_empty()

bool ArcFibonacciHeap< GT, Distance, Access_Heap_Node >::is_empty ( ) const
inlinenoexcept

Return true if the heap is empty.

Definition at line 280 of file archeap.H.

References ArcFibonacciHeap< GT, Distance, Access_Heap_Node >::heap, and Aleph::Fibonacci_Heap< T, Compare >::is_empty().

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ put_arc()

Member Data Documentation

◆ access_node

◆ dist

◆ dist_cmp

◆ heap


The documentation for this class was generated from the following file: