// file: tr_mm_cstr_3.cc
//

// isip include files
//
#include "train_memory_manager.h"
#include "train_memory_manager_constants.h"

// method: constructor
//
// arguments:
//  const Train_Memory_manager& manager : (input) the memory manager to copy
//
// return: none
//
// this is a copy constructor
//
Train_Memory_manager::Train_Memory_manager(const Train_Memory_manager& manager_a) {

  // copy the counts
  //
  node_count_d = manager_a.node_count_d;
  trace_count_d = manager_a.trace_count_d;
  lex_count_d = manager_a.lex_count_d;
  lat_count_d = manager_a.lat_count_d;
  hash_count_d = manager_a.hash_count_d;

  // copy the block sizes
  //
  node_grow_size_d = manager_a.node_grow_size_d;
  trace_grow_size_d = manager_a.trace_grow_size_d;
  lex_grow_size_d = manager_a.lex_grow_size_d;
  lat_grow_size_d = manager_a.lat_grow_size_d;
  hash_grow_size_d = manager_a.hash_grow_size_d;
  
  // copy the list pointers
  //
  trace_list_d = manager_a.trace_list_d;
  node_list_d = manager_a.node_list_d;
  lex_list_d = manager_a.lex_list_d;
  lat_list_d = manager_a.lat_list_d;
  hash_list_d = manager_a.hash_list_d;

  // exit gracefully
  //
}
