// file: tr_hc_cstr_3.cc
//

// isip include files
//
#include "train_hash_cell.h"
#include "train_hash_cell_constants.h"
 
// method: constructor
//
// arguments:
//  Train_Hash_cell& cell : (input) the hash cell to copy
//
// return: none
//
// this is a copy constructor
//
Train_Hash_cell::Train_Hash_cell(Train_Hash_cell& cell_a) {

  // set the key string
  //
  key_str_d = new char_1[strlen((char*)cell_a.key_str_d) + (int_4)1];
  key_vec_d = (int_4*)NULL;
  key_size_d = 0;


  if (cell_a.key_str_d != (char_1*)NULL) {
    set_key_cc(cell_a.key_str_d);
  }
  if (cell_a.key_vec_d != (int_4*)NULL) {
    set_key_cc(cell_a.key_vec_d, cell_a.key_size_d);
  }

  // set the item
  //
  item_d = cell_a.item_d;

  // set the link pointer
  //
  next_d = cell_a.next_d;

  // debug level
  //
  debug_level_d = cell_a.debug_level_d;
  
  // exit gracefully
  //
}
