예제 #1
0
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);
}
예제 #2
0
	~Skim_File (void)                    { Clear_Table (); }