// file: dtn_size_0.cc
//

// isip include files
//
#include "dt_node.h"
#include "dt_node_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 Dt_node::size_cc() {
  
  // set the size variable
  //
  int_4 size = 0;
  
  // add the size of each constituent data
  //
  size += sizeof(int_4);                    // debug_level_d
  size += sizeof(Dt_node*);                 // parent_d
  size += sizeof(Dt_node*);                 // l_child_d
  size += sizeof(Dt_node*);                 // r_child_d
  
  size += sizeof(Question*);                // question_d  
  
  size += sizeof(int_4);                    // num_states_d 
  size += sizeof(int_4*);                   // state_index_d
  size += sizeof(float_4*);                 // occupy_d
  
  size += sizeof(float_4);                  // likelihood_d
  size += sizeof(float_4);                  // splid_likelihood_d
  
  size += sizeof(logical_1);                // tag_terminal_d
  size += sizeof(logical_1);                // tag_visit_d
  
  size += sizeof(int_4);                    // label_d
  
  // exit gracefully
  //
  return size;
}
