Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# common_structures::heap_array< T, CmpT > Class Template Reference

`#include <heap_array.h>`

Inheritance diagram for common_structures::heap_array< T, CmpT >:

[legend]
Collaboration diagram for common_structures::heap_array< T, CmpT >:

[legend]
List of all members.

## Public Member Functions
| heap_array ()
void | clear ()
void | reserve (size_t Size)
size_t | size () const
bool | empty () const
bool | locked () const
bool | removed (size_t i) const
bool | valid (size_t i) const
const T & | top () const
const T & | peek (size_t i) const
const T & | operator[] (size_t i) const
size_t | push (const T &Elem)
void | pop ()
void | erase (size_t i)
void | update (size_t i, const T &Elem)
## Protected Types
typedef std::vector< linker > | linked_heap
typedef std::vector< size_t > | finder
## Protected Member Functions
void | Adjust (size_t i)
void | Swap (size_t a, size_t b)
bool | Less (const linker &a, const linker &b) const
## Protected Attributes
linked_heap | m_Heap
finder | m_Finder
CmpT | m_Compare
bool | m_Locked

### template<class T, class CmpT = std::less<T>>
class common_structures::heap_array< T, CmpT >

## Member Typedef Documentation

template<class T, class CmpT = std::less<T>>
typedef std::vector<size_t> common_structures::heap_array< T, CmpT >::finder`[protected]`

template<class T, class CmpT = std::less<T>>
typedef std::vector<linker> common_structures::heap_array< T, CmpT >::linked_heap`[protected]`

## Constructor & Destructor Documentation

template<class T, class CmpT = std::less<T>>
common_structures::heap_array< T, CmpT >::heap_array | ( |  | ) | `[inline]`

## Member Function Documentation

template<class T, class CmpT>
void common_structures::heap_array< T, CmpT >::Adjust | ( | size_t | i | ) | `[inline, protected]`

template<class T, class CmpT>
void common_structures::heap_array< T, CmpT >::clear | ( |  | ) | `[inline]`

template<class T, class CmpT>
bool common_structures::heap_array< T, CmpT >::empty | ( |  | ) | const`[inline]`

template<class T, class CmpT>
void common_structures::heap_array< T, CmpT >::erase | ( | size_t | i | ) | `[inline]`

template<class T, class CmpT>
bool common_structures::heap_array< T, CmpT >::Less | ( | const linker & | a,
|  | const linker & | b
| ) | const`[inline, protected]`

template<class T, class CmpT>
bool common_structures::heap_array< T, CmpT >::locked | ( |  | ) | const`[inline]`

template<class T, class CmpT>
const T & common_structures::heap_array< T, CmpT >::operator[] | ( | size_t | i | ) | const`[inline]`

template<class T, class CmpT>
const T & common_structures::heap_array< T, CmpT >::peek | ( | size_t | i | ) | const`[inline]`

template<class T, class CmpT>
void common_structures::heap_array< T, CmpT >::pop | ( |  | ) | `[inline]`

template<class T, class CmpT>
size_t common_structures::heap_array< T, CmpT >::push | ( | const T & | Elem | ) | `[inline]`

template<class T, class CmpT>
bool common_structures::heap_array< T, CmpT >::removed | ( | size_t | i | ) | const`[inline]`

template<class T, class CmpT>
void common_structures::heap_array< T, CmpT >::reserve | ( | size_t | Size | ) | `[inline]`

template<class T, class CmpT>
size_t common_structures::heap_array< T, CmpT >::size | ( |  | ) | const`[inline]`

template<class T, class CmpT>
void common_structures::heap_array< T, CmpT >::Swap | ( | size_t | a,
|  | size_t | b
| ) | `[inline, protected]`

template<class T, class CmpT>
const T & common_structures::heap_array< T, CmpT >::top | ( |  | ) | const`[inline]`

template<class T, class CmpT>
void common_structures::heap_array< T, CmpT >::update | ( | size_t | i,
|  | const T & | Elem
| ) | `[inline]`

template<class T, class CmpT>
bool common_structures::heap_array< T, CmpT >::valid | ( | size_t | i | ) | const`[inline]`

## Member Data Documentation

template<class T, class CmpT = std::less<T>>
CmpT common_structures::heap_array< T, CmpT >::m_Compare`[protected]`

template<class T, class CmpT = std::less<T>>
finder common_structures::heap_array< T, CmpT >::m_Finder`[protected]`

template<class T, class CmpT = std::less<T>>
linked_heap common_structures::heap_array< T, CmpT >::m_Heap`[protected]`

template<class T, class CmpT = std::less<T>>
bool common_structures::heap_array< T, CmpT >::m_Locked`[protected]`

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

- heap_array.h