Galois::ThreadSafeMinHeap< T, Cmp > Class Template Reference

Thread-safe min heap. More...

#include <PriorityQueue.h>

List of all members.

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 (const value_type &x)
value_type pop ()
bool remove (const value_type &x)
bool find (const value_type &x) const
const_iterator begin () const
const_iterator end () const
void reserve (size_type s)

Protected Types

typedef
Galois::Runtime::LL::SimpleLock
< true > 
Lock_ty

Protected Attributes

GALOIS_ATTRIBUTE_ALIGN_CACHE_LINE
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::Runtime::LL::SimpleLock<true> 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()  )  [inline, explicit]
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 (  )  const [inline]
template<typename T , typename Cmp = std::less<T>>
bool Galois::ThreadSafeMinHeap< T, Cmp >::empty (  )  const [inline]
template<typename T , typename Cmp = std::less<T>>
const_iterator Galois::ThreadSafeMinHeap< T, Cmp >::end (  )  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>>
value_type Galois::ThreadSafeMinHeap< T, Cmp >::pop (  )  [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>>
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>>
GALOIS_ATTRIBUTE_ALIGN_CACHE_LINE Lock_ty Galois::ThreadSafeMinHeap< T, Cmp >::mutex [protected]

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

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1