Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::fibonacci_heap< T, Compare, ID > Class Template Reference

#include <fibonacci_heap.hpp>

Collaboration diagram for boost::fibonacci_heap< T, Compare, ID >:

Public Member Functions

 fibonacci_heap (size_type n, const Compare &cmp, const ID &id=identity_property_map())
 
void push (const T &d)
 
Ttop ()
 
const Ttop () const
 
void pop ()
 
void add_tree_to_new_roots (size_type v, LinkIter new_roots, int &h)
 
void make_child (size_type u, size_type v, size_type r)
 
void rebuild_root_list (LinkIter new_roots, int &h)
 
void update (const T &d)
 
size_type size () const
 
bool empty () const
 
void print (std::ostream &os)
 

Protected Types

typedef fibonacci_heap self
 
typedef std::vector< size_type > LinkVec
 
typedef LinkVec::iterator LinkIter
 

Protected Member Functions

void remove_from_family (size_type v, size_type p)
 
void insert_into_forest (size_type v, const T &d)
 
void print_recur (size_type x, std::ostream &os)
 
size_type nil () const
 

Protected Attributes

std::vector< T_key
 
LinkVec _left
 
LinkVec _right
 
LinkVec _p
 
std::vector< bool > _mark
 
LinkVec _degree
 
size_type _n
 
size_type _root
 
ID _id
 
Compare _compare
 
LinkVec _child
 
LinkVec new_roots
 

Member Typedef Documentation

template<class T , class Compare = std::less<T>, class ID = identity_property_map>
typedef LinkVec::iterator boost::fibonacci_heap< T, Compare, ID >::LinkIter
protected
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
typedef std::vector<size_type> boost::fibonacci_heap< T, Compare, ID >::LinkVec
protected
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
typedef fibonacci_heap boost::fibonacci_heap< T, Compare, ID >::self
protected

Constructor & Destructor Documentation

template<class T , class Compare = std::less<T>, class ID = identity_property_map>
boost::fibonacci_heap< T, Compare, ID >::fibonacci_heap ( size_type  n,
const Compare &  cmp,
const ID &  id = identity_property_map() 
)
inline

Member Function Documentation

template<class T , class Compare = std::less<T>, class ID = identity_property_map>
bool boost::fibonacci_heap< T, Compare, ID >::empty ( void  ) const
inline
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
void boost::fibonacci_heap< T, Compare, ID >::make_child ( size_type  u,
size_type  v,
size_type  r 
)
inline
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
void boost::fibonacci_heap< T, Compare, ID >::print ( std::ostream &  os)
inline
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
void boost::fibonacci_heap< T, Compare, ID >::print_recur ( size_type  x,
std::ostream &  os 
)
inlineprotected
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
void boost::fibonacci_heap< T, Compare, ID >::remove_from_family ( size_type  v,
size_type  p 
)
inlineprotected
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
size_type boost::fibonacci_heap< T, Compare, ID >::size ( void  ) const
inline
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
T& boost::fibonacci_heap< T, Compare, ID >::top ( void  )
inline
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
const T& boost::fibonacci_heap< T, Compare, ID >::top ( void  ) const
inline

Member Data Documentation

template<class T , class Compare = std::less<T>, class ID = identity_property_map>
ID boost::fibonacci_heap< T, Compare, ID >::_id
protected
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
std::vector<bool> boost::fibonacci_heap< T, Compare, ID >::_mark
protected
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
size_type boost::fibonacci_heap< T, Compare, ID >::_n
protected
template<class T , class Compare = std::less<T>, class ID = identity_property_map>
LinkVec boost::fibonacci_heap< T, Compare, ID >::new_roots
protected

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