// file: tr_tr_size_0.cc
//

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

// method: size_cc
//
// arguments: none
//
// return: an int_4 with number of bytes used by this object
//
// this method counts the size of the current object in bytes
//
int_4 Train_Trace::size_cc() {

  // set the size variable
  //
  int_4 size = 0;
  
  // add the size of each constituent data
  //
  size += sizeof(Train_Lattice_node*);                 // lat_node_d          
  size += sizeof(Train_Lex_node*);                     // lex_node_d          

  size += sizeof(int_4);                         // level_d
  size += sizeof(int_4);                         // phone_index_d

  size += sizeof(int_4);                         // bacptr_size_d
  size += sizeof(Train_Trace**);                       // back_ptr_d
  size += backptr_size_d * sizeof(Train_Trace*);
  
  size += sizeof(int_4);                         // frame_index_d
  size += sizeof(float_8);                       // score_d
  size += sizeof(int_4);                         // ref_count_d
  size += sizeof(int_4);                         // max_mixture_d

  // exit gracefully
  //
  return size;
}
