// file: latn_cstr_3.cc
//

// isip include files
//
#include "lattice_node.h"
#include "lattice_node_constants.h"

#include <lex_tree.h>
#include <lex_tree_constants.h>

// method: copy constructor
//
// arguments:
//  Lattice_node& lat_node_a: (input) Lattice node from which to copy
//                                    information
//
// return: none
//
// this is the copy constructor
//
Lattice_node::Lattice_node(Lattice_node& lat_node_a) {

  // set node identity
  //
  type_d = lat_node_a.type_d;
  word_d = lat_node_a.word_d;
  pron_variant_d = lat_node_a.pron_variant_d;
  frame_d = lat_node_a.frame_d;
  node_index_d = lat_node_a.node_index_d;
  num_arcs_in_d = lat_node_a.num_arcs_in_d;
  num_arcs_out_d = lat_node_a.num_arcs_out_d;
  
  // set node pointers
  //
  prev_nodes_d = lat_node_a.prev_nodes_d;
  next_nodes_d = lat_node_a.next_nodes_d;
  
  // set the lexical tree
  //
  lex_tree_d = lat_node_a.lex_tree_d;
  
  // set the lm and ac scores arrays
  //
  lm_scores_d = lat_node_a.lm_scores_d;
  ac_scores_d = lat_node_a.ac_scores_d;

  // exit gracefully
  //
}
