// file: tp_hypo_0.cc
//

// isip include files
//
#include "trace_projector.h"
#include "trace_projector_constants.h"

// method: get_hypo_cc
//
// arguments:
//  char_1*& hypo : (input/output) pointer to hypothesis buffer
//
// return: a logical flag to indicate success
//
logical_1 Trace_projector::get_hypo_cc(char_1*& hypo_a, char_1 *&align_a) {

  // assign the space if needed
  //
  if (!hypo_a) {
    hypo_a = new char_1[ISIP_MAX_STRING_LENGTH * num_nbest_d];
  }
  hypo_a[0] = '\0';

  if (!align_a) {
    align_a = new char_1[ISIP_MAX_STRING_LENGTH * num_nbest_d];
  }
  align_a[0] = '\0';

  // get the final hypothesis
  //
  decoder_d->decode_cc(hypo_a, align_a, output_file_d, input_file_d);

  // exit gracefully
  //
  return ISIP_TRUE;
}
