bool Skim_File::Set_Table (int num_org, int num_des, int periods) { Clear_Table (); if (num_org < 1 || num_des < 1 || periods < 1) return (false); Num_Org (0); Num_Des (0); if (table_flag) { ttime = new Dtime ** [num_org]; if (ttime == 0) return (false); for (int org=0; org < num_org; org++) { ttime [org] = new Dtime * [num_des]; if (ttime [org] == 0) return (false); for (int des=0; des < num_des; des++) { ttime [org] [des] = new Dtime [periods]; if (ttime [org] [des] == 0) return (false); memset (ttime [org] [des], '\0', periods * sizeof (Dtime)); } } } else { table = new Skim_Data ** [num_org]; if (table == 0) return (false); for (int org=0; org < num_org; org++) { table [org] = new Skim_Data * [num_des]; if (table [org] == 0) return (false); for (int des=0; des < num_des; des++) { table [org] [des] = new Skim_Data [periods]; if (table [org] [des] == 0) return (false); memset (table [org] [des], '\0', periods * sizeof (Skim_Data)); } } } Num_Org (num_org); Num_Des (num_des); return (true); }
~Skim_File (void) { Clear_Table (); }