// file: pfil_size_0.cc
//

// isip include files
//
#include "param_file.h"

// method: required size method
//
// arguments: none
//
// return: size
//
int_4 Param_file::size_cc() {
  
  // create size variable and set to the size of default protected
  // data
  //
  int_4 size = sizeof(debug_level_d);
  size += sizeof(param_file_d);
  size += sizeof(magic_string_d);
  size += sizeof(params_d);
  size += sizeof(values_d);
  size += sizeof(terminator_char_d);
  size += sizeof(assignment_char_d);
  size += sizeof(comment_char_d);
  size += sizeof(parse_statement_format_d);
  size += sizeof(load_statement_format_d);
  size += sizeof(num_params_d);
  
  // add the size of param_file_d
  //
  if (param_file_d != (char_1*)NULL) {
    size += (strlen((char*)param_file_d)+1) * sizeof(char_1);
  }

  // add the size of magic_string_d
  //
  if (magic_string_d != (char_1*)NULL) {
    size += (strlen((char*)magic_string_d)+1) * sizeof(char_1);
  }

  // add the size of parse_statement_format_d
  //
  if (parse_statement_format_d != (char_1*)NULL) {
    size += (strlen((char*)parse_statement_format_d)+1) * sizeof(char_1);
  }

  // add the size of load_statement_format_d
  //
  if (load_statement_format_d != (char_1*)NULL) {
    size += (strlen((char*)load_statement_format_d)+1) * sizeof(char_1);
  }

  // add the size of the params_d
  //
  if (params_d != (char_1**)NULL) {
    for (int_4 i=0;i<num_params_d;i++) {
      size += sizeof(params_d[i]);
      if (params_d[i] != (char_1*)NULL) {
	size += (strlen((char*)params_d[i])+1) * sizeof(char_1);
      }
    }
  }
  
  // add the size of the values_d
  //
  if (values_d != (char_1**)NULL) {
    for (int_4 i=0;i<num_params_d;i++) {
      size += sizeof(values_d[i]);
      if (values_d[i] != (char_1*)NULL) {
	size += (strlen((char*)values_d[i])+1) * sizeof(char_1);
      }
    }
  }
  
  // exit gracefully
  //
  return size;
}




