Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
utility::heap Class Reference

#include <heap.hh>

Inheritance diagram for utility::heap:
Inheritance graph
[legend]

Public Member Functions

 heap (int max_items)
 Create a heap with this number of items. More...
 
virtual ~heap ()
 
void heap_insert (int val, float coval, bool &err)
 Inserts a value into the heap that is sorted by coval. More...
 
void heap_extract (int &val, float &coval, bool &err)
 Extracts the val,coval pair with the lowest coval from the heap. This modifies the heap, and the returned values are put into the arguments val and coval. More...
 
void heap_replace (int val, float coval)
 
void reset_coval (int val, float coval)
 
float heap_head () const
 returns the smallest covalue stored in the heap. More...
 
float coval (int index) const
 
int val (int index) const
 
int size () const
 
int capacity () const
 
- Public Member Functions inherited from utility::pointer::ReferenceCount
 ReferenceCount ()
 Default constructor. More...
 
virtual ~ReferenceCount ()
 

Private Member Functions

void heap_init (int max_items)
 sets up an empty heap and stores the dimensioned size More...
 
void heap_down (int index_in)
 
void heap_up (int index_in)
 
intheap_size ()
 
intheap_capacity ()
 
void decrease_coval (int index, float coval)
 
void increase_coval (int index, float coval)
 
int index_for_val (int val)
 

Private Attributes

utility::vector0< intheap_
 
utility::vector0< floatcoheap_
 

Additional Inherited Members

- Public Types inherited from utility::pointer::ReferenceCount
typedef platform::Size Size
 
typedef platform::Size size_type
 

Detailed Description

Definition at line 32 of file heap.hh.

Constructor & Destructor Documentation

utility::heap::heap ( int  max_items)
inline

Create a heap with this number of items.

Definition at line 37 of file heap.hh.

References coheap_, heap_, and heap_init().

utility::heap::~heap ( )
virtual

Definition at line 25 of file heap.cc.

Member Function Documentation

int utility::heap::capacity ( ) const

Definition at line 197 of file heap.cc.

References heap_.

float utility::heap::coval ( int  index) const

Definition at line 179 of file heap.cc.

References coheap_, and ObjexxFCL::index().

Referenced by decrease_coval(), heap_insert(), heap_replace(), and increase_coval().

void utility::heap::decrease_coval ( int  index,
float  coval 
)
private

Definition at line 298 of file heap.cc.

References coheap_, coval(), heap_up(), and ObjexxFCL::index().

Referenced by reset_coval().

int & utility::heap::heap_capacity ( )
private

Definition at line 291 of file heap.cc.

References heap_.

Referenced by heap_init(), and heap_insert().

void utility::heap::heap_down ( int  index_in)
private

Definition at line 206 of file heap.cc.

References coheap_, heap_, and heap_size().

Referenced by heap_extract(), heap_replace(), and increase_coval().

void utility::heap::heap_extract ( int val,
float coval,
bool err 
)

Extracts the val,coval pair with the lowest coval from the heap. This modifies the heap, and the returned values are put into the arguments val and coval.

modifes heap and last_val return val and err.

Definition at line 73 of file heap.cc.

References coheap_, heap_, heap_down(), and heap_size().

float utility::heap::heap_head ( ) const

returns the smallest covalue stored in the heap.

Definition at line 173 of file heap.cc.

References coheap_.

void utility::heap::heap_init ( int  max_items)
private

sets up an empty heap and stores the dimensioned size

Definition at line 59 of file heap.cc.

References heap_capacity(), and heap_size().

Referenced by heap().

void utility::heap::heap_insert ( int  val,
float  coval,
bool err 
)

Inserts a value into the heap that is sorted by coval.

modifies heap and last_dummy, inserts val, returns err requires heap_max to be previously set via heap_init

Definition at line 115 of file heap.cc.

References coheap_, coval(), heap_, heap_capacity(), heap_replace(), heap_size(), heap_up(), and val().

void utility::heap::heap_replace ( int  val,
float  coval 
)

Definition at line 142 of file heap.cc.

References coheap_, coval(), heap_, heap_down(), and val().

Referenced by heap_insert().

int & utility::heap::heap_size ( )
private

Definition at line 285 of file heap.cc.

References heap_.

Referenced by heap_down(), heap_extract(), heap_init(), heap_insert(), and index_for_val().

void utility::heap::heap_up ( int  index_in)
private

Definition at line 256 of file heap.cc.

References coheap_, heap_, test.T850_SubClassing::pv, and value.

Referenced by decrease_coval(), and heap_insert().

void utility::heap::increase_coval ( int  index,
float  coval 
)
private

Definition at line 305 of file heap.cc.

References coheap_, coval(), heap_down(), and ObjexxFCL::index().

Referenced by reset_coval().

int utility::heap::index_for_val ( int  val)
private

Definition at line 312 of file heap.cc.

References heap_, heap_size(), and test.T200_Scoring::ii.

Referenced by reset_coval().

void utility::heap::reset_coval ( int  val,
float  coval 
)

Definition at line 158 of file heap.cc.

References coheap_, decrease_coval(), increase_coval(), ObjexxFCL::index(), and index_for_val().

int utility::heap::size ( ) const

Definition at line 191 of file heap.cc.

References heap_.

int utility::heap::val ( int  index) const

Definition at line 185 of file heap.cc.

References heap_, and ObjexxFCL::index().

Referenced by heap_insert(), and heap_replace().

Member Data Documentation

utility::vector0< float > utility::heap::coheap_
private
utility::vector0< int > utility::heap::heap_
private

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