NAMD
Public Member Functions | List of all members
msm::PriorityQueue< T > Class Template Reference

#include <MsmMap.h>

Public Member Functions

 PriorityQueue (int nelems=0)
 
void init (int nelems)
 
void clear ()
 
void insert (const T &t)
 
void remove (T &t)
 

Detailed Description

template<class T>
class msm::PriorityQueue< T >

Definition at line 337 of file MsmMap.h.

Constructor & Destructor Documentation

template<class T>
msm::PriorityQueue< T >::PriorityQueue ( int  nelems = 0)
inline

Definition at line 339 of file MsmMap.h.

References msm::PriorityQueue< T >::init().

339  {
340  if (nelems > 0) init(nelems);
341  }
void init(int nelems)
Definition: MsmMap.h:342

Member Function Documentation

template<class T>
void msm::PriorityQueue< T >::clear ( )
inline

Definition at line 346 of file MsmMap.h.

346  {
347  a.resize(0);
348  }
template<class T>
void msm::PriorityQueue< T >::init ( int  nelems)
inline

Definition at line 342 of file MsmMap.h.

Referenced by msm::PriorityQueue< T >::PriorityQueue().

342  {
343  a.resize(nelems); // pre-allocate space
344  a.resize(0); // nothing stored yet (does not free memory)
345  }
template<class T>
void msm::PriorityQueue< T >::insert ( const T &  t)
inline

Definition at line 349 of file MsmMap.h.

349  {
350  a.append(t);
351  upheap();
352  }
template<class T>
void msm::PriorityQueue< T >::remove ( T &  t)
inline

Definition at line 353 of file MsmMap.h.

353  {
354  int last = a.len() - 1;
355  if (last < 0) return;
356  t = a[0];
357  if (last > 0) a[0] = a[last];
358  a.resize(last); // remove last element from array
359  downheap();
360  }

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