// file: mm_cstr_0.cc
//

// isip include files
//
#include "memory_manager.h"
#include "memory_manager_constants.h"

// method: destructor
//
// arguments: none
//
// return: none
//
// this is the default destructor
//
Memory_manager::~Memory_manager() {

  // dummy variables
  //
  Link_node* tmp_node = (Link_node*)NULL;
  
  // delete memory of the free nodes
  //  
  for (Link_node* node = node_list_d; node != (Link_node*)NULL;
       node = tmp_node) {
    tmp_node = node->get_next_cc();
    delete node;
    node_count_d--;    
  }
  node_list_d = (Link_node*)NULL;

  // reset the counts
  //
  node_count_d = (int_4)0;
  
  // reset the total generation counts
  //
  num_node_d = (int_4)0;
  
  // reset the block sizes
  //
  node_grow_size_d = (int_4)0;
  
  // exit gracefully
  //
}
