Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
galois::ThreadSafeMinHeap< T, Cmp > Class Template Reference

Thread-safe min heap. More...

#include <PriorityQueue.h>

Public Types

typedef MinHeap< T, Cmp > container_type
 
typedef container_type::value_type value_type
 
typedef container_type::reference reference
 
typedef
container_type::const_reference 
const_reference
 
typedef container_type::pointer pointer
 
typedef container_type::size_type size_type
 
typedef
container_type::const_iterator 
iterator
 
typedef
container_type::const_iterator 
const_iterator
 
typedef
container_type::const_reverse_iterator 
reverse_iterator
 
typedef
container_type::const_reverse_iterator 
const_reverse_iterator
 

Public Member Functions

 ThreadSafeMinHeap (const Cmp &cmp=Cmp())
 
template<typename Iter >
 ThreadSafeMinHeap (Iter b, Iter e, const Cmp &cmp=Cmp())
 
bool empty () const
 
size_type size () const
 
value_type top () const
 
void push_back (const value_type &x)
 
void insert (const value_type &x)
 
void push (const value_type &x)
 
value_type pop ()
 
bool remove (const value_type &x)
 
bool find (const value_type &x) const
 
void clear ()
 
const_iterator begin () const
 
const_iterator end () const
 
void reserve (size_type s)
 

Protected Types

typedef
galois::substrate::SimpleLock 
Lock_ty
 

Protected Attributes

Lock_ty mutex
 
container_type heap
 

Detailed Description

template<typename T, typename Cmp = std::less<T>>
class galois::ThreadSafeMinHeap< T, Cmp >

Thread-safe min heap.

Member Typedef Documentation

template<typename T , typename Cmp = std::less<T>>
typedef container_type::const_iterator galois::ThreadSafeMinHeap< T, Cmp >::const_iterator
template<typename T , typename Cmp = std::less<T>>
typedef container_type::const_reference galois::ThreadSafeMinHeap< T, Cmp >::const_reference
template<typename T , typename Cmp = std::less<T>>
typedef container_type::const_reverse_iterator galois::ThreadSafeMinHeap< T, Cmp >::const_reverse_iterator
template<typename T , typename Cmp = std::less<T>>
typedef MinHeap<T, Cmp> galois::ThreadSafeMinHeap< T, Cmp >::container_type
template<typename T , typename Cmp = std::less<T>>
typedef container_type::const_iterator galois::ThreadSafeMinHeap< T, Cmp >::iterator
template<typename T , typename Cmp = std::less<T>>
typedef galois::substrate::SimpleLock galois::ThreadSafeMinHeap< T, Cmp >::Lock_ty
protected
template<typename T , typename Cmp = std::less<T>>
typedef container_type::pointer galois::ThreadSafeMinHeap< T, Cmp >::pointer
template<typename T , typename Cmp = std::less<T>>
typedef container_type::reference galois::ThreadSafeMinHeap< T, Cmp >::reference
template<typename T , typename Cmp = std::less<T>>
typedef container_type::const_reverse_iterator galois::ThreadSafeMinHeap< T, Cmp >::reverse_iterator
template<typename T , typename Cmp = std::less<T>>
typedef container_type::size_type galois::ThreadSafeMinHeap< T, Cmp >::size_type
template<typename T , typename Cmp = std::less<T>>
typedef container_type::value_type galois::ThreadSafeMinHeap< T, Cmp >::value_type

Constructor & Destructor Documentation

template<typename T , typename Cmp = std::less<T>>
galois::ThreadSafeMinHeap< T, Cmp >::ThreadSafeMinHeap ( const Cmp &  cmp = Cmp())
inlineexplicit
template<typename T , typename Cmp = std::less<T>>
template<typename Iter >
galois::ThreadSafeMinHeap< T, Cmp >::ThreadSafeMinHeap ( Iter  b,
Iter  e,
const Cmp &  cmp = Cmp() 
)
inline

Member Function Documentation

template<typename T , typename Cmp = std::less<T>>
const_iterator galois::ThreadSafeMinHeap< T, Cmp >::begin ( void  ) const
inline
template<typename T , typename Cmp = std::less<T>>
void galois::ThreadSafeMinHeap< T, Cmp >::clear ( void  )
inline
template<typename T , typename Cmp = std::less<T>>
bool galois::ThreadSafeMinHeap< T, Cmp >::empty ( void  ) const
inline
template<typename T , typename Cmp = std::less<T>>
const_iterator galois::ThreadSafeMinHeap< T, Cmp >::end ( void  ) const
inline
template<typename T , typename Cmp = std::less<T>>
bool galois::ThreadSafeMinHeap< T, Cmp >::find ( const value_type x) const
inline
template<typename T , typename Cmp = std::less<T>>
void galois::ThreadSafeMinHeap< T, Cmp >::insert ( const value_type x)
inline
template<typename T , typename Cmp = std::less<T>>
value_type galois::ThreadSafeMinHeap< T, Cmp >::pop ( void  )
inline
template<typename T , typename Cmp = std::less<T>>
void galois::ThreadSafeMinHeap< T, Cmp >::push ( const value_type x)
inline
template<typename T , typename Cmp = std::less<T>>
void galois::ThreadSafeMinHeap< T, Cmp >::push_back ( const value_type x)
inline
template<typename T , typename Cmp = std::less<T>>
bool galois::ThreadSafeMinHeap< T, Cmp >::remove ( const value_type x)
inline
template<typename T , typename Cmp = std::less<T>>
void galois::ThreadSafeMinHeap< T, Cmp >::reserve ( size_type  s)
inline
template<typename T , typename Cmp = std::less<T>>
size_type galois::ThreadSafeMinHeap< T, Cmp >::size ( ) const
inline
template<typename T , typename Cmp = std::less<T>>
value_type galois::ThreadSafeMinHeap< T, Cmp >::top ( ) const
inline

Member Data Documentation

template<typename T , typename Cmp = std::less<T>>
container_type galois::ThreadSafeMinHeap< T, Cmp >::heap
protected
template<typename T , typename Cmp = std::less<T>>
Lock_ty galois::ThreadSafeMinHeap< T, Cmp >::mutex
protected

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