// file: tr_tr_cstr_0.cc
//

// isip include files
//
#include "train_trace.h"
#include "train_trace_constants.h"

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

  // remove the path history information
  //
  if (back_ptr_d != (Train_Trace**)NULL) {
    delete [] back_ptr_d;
  }
  back_ptr_d = (Train_Trace**)NULL;
  backptr_size_d = (int_4)0;

  // remove the network information
  //
  lat_node_d = (Train_Lattice_node*)NULL;
  lex_node_d = (Train_Lex_node*)NULL;
  
  // reset the parameters
  //
  max_mixture_d = (int_4)0;
  level_d = TRAIN_TRACE_DEFAULT_INDEX;
  phone_index_d = TRAIN_TRACE_DEFAULT_INDEX;
  state_index_d = TRAIN_TRACE_DEFAULT_INDEX;
  frame_index_d = (int_4)0;
  score_d = TRAIN_TRACE_DEFAULT_SCORE;
  ref_count_d = (int_4)0;
  active_d = ISIP_FALSE;

  // exit gracefully
  //
}
