// file: mm_cstr_1.cc
//

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

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

  // set the counts
  //
  node_count_d = (int_4)0;
  trace_count_d = (int_4)0;
  lex_count_d = (int_4)0;
  lat_count_d = (int_4)0;
  lpath_count_d = (int_4)0;
  ngram_count_d = (int_4)0;
  hash_count_d = (int_4)0;
  hist_count_d = (int_4)0;
  instance_count_d = (int_4)0;

  // set the total number generated
  //
  num_node_d = (int_4)0;
  num_trace_d = (int_4)0;
  num_lex_d = (int_4)0;
  num_lat_d = (int_4)0;
  num_lpath_d = (int_4)0;
  num_ngram_d = (int_4)0;
  num_hash_d = (int_4)0;
  num_hist_d = (int_4)0;
  num_instance_d = (int_4)0;

  // reset the block sizes
  //
  node_grow_size_d = MM_NODE_GROW_SIZE;
  trace_grow_size_d = MM_TRACE_GROW_SIZE;
  lex_grow_size_d = MM_LEX_GROW_SIZE;
  lat_grow_size_d = MM_LAT_GROW_SIZE;
  lpath_grow_size_d = MM_LPATH_GROW_SIZE;
  ngram_grow_size_d = MM_NGRAM_GROW_SIZE;
  hash_grow_size_d = MM_HASH_GROW_SIZE;
  hist_grow_size_d = MM_HIST_GROW_SIZE;
  instance_grow_size_d = MM_INSTANCE_GROW_SIZE;
  
  // initialize the lists
  //
  node_list_d = (Link_node*)NULL;
  trace_list_d = (Link_node*)NULL;
  lex_list_d = (Link_node*)NULL;
  lat_list_d = (Link_node*)NULL;
  lpath_list_d = (Link_node*)NULL;
  ngram_list_d = (Link_node*)NULL;
  hash_list_d = (Link_node*)NULL;
  hist_list_d = (Link_node*)NULL;
  instance_list_d = (Link_node*)NULL;

  // exit gracefully
  //
}
