Rosetta  3.7
 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
 

Constructor & Destructor Documentation

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

Create a heap with this number of items.

References coheap_, heap_, and heap_init().

utility::heap::~heap ( )
virtual

Member Function Documentation

int utility::heap::capacity ( ) const

References heap_.

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

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

Referenced by reset_coval().

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

References heap_.

Referenced by heap_init(), and heap_insert().

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

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.

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

float utility::heap::heap_head ( ) const

returns the smallest covalue stored in the heap.

References coheap_.

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

sets up an empty heap and stores the dimensioned size

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

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

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

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

Referenced by heap_insert().

int & utility::heap::heap_size ( )
private
void utility::heap::heap_up ( int  index_in)
private
void utility::heap::increase_coval ( int  index,
float  coval 
)
private

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

Referenced by reset_coval().

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

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

Referenced by reset_coval().

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

References heap_.

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

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: