00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: SModifier.h,v 1.4 2003/01/08 18:57:12 meierb Exp $ 00008 00009 Purpose : Superclass for the classes which are used to construct/load/modify 00010 the STaskSystem and all its components. 00011 00012 RCS-Log: 00013 $Log: SModifier.h,v $ 00014 Revision 1.4 2003/01/08 18:57:12 meierb 00015 added randomized release times 00016 00017 Revision 1.1.1.1 2002/12/02 22:26:19 meierb 00018 my_schedule 00019 00020 Revision 1.2 2002/11/09 02:51:14 taeubig 00021 Replaced <iostream.h> header inclusion by <iostream>, cerr by std::cerr... 00022 00023 Revision 1.1 2002/08/29 12:59:58 taeubig 00024 Added the sources 00025 00026 Revision 1.11 2000/01/26 18:03:16 zoidl 00027 changes for modifier.vfClass 00028 00029 Revision 1.10 2000/01/17 17:39:33 zoidl 00030 added javadoc comments 00031 00032 Revision 1.9 2000/01/12 02:29:25 taeubig 00033 Changed interface for clone() 00034 Deleted getX() functions in getXMod classes 00035 00036 Revision 1.8 2000/01/08 19:04:08 taeubig 00037 Started implementation of clone() functions 00038 00039 Revision 1.7 1999/10/05 13:42:17 zoidl 00040 lots of new load- and save-routines 00041 00042 Revision 1.6 1999/08/05 08:48:06 schickin 00043 purpose of important classes noted in the header-files 00044 00045 Revision 1.5 1999/04/27 13:39:28 schickin 00046 well folks, that's the first demo version that really runs 8-) 00047 00048 Revision 1.4 1999/03/31 11:13:27 hall 00049 added a few output operators and save routines 00050 00051 Revision 1.3 1999/03/29 12:48:55 schickin 00052 design of modifiers changed (SFooMod is now a member of SFoo). the stuff 00053 compiles and a simple test program runs fine. 00054 00055 Revision 1.2 1999/03/29 10:36:32 schickin 00056 moving things from hpmayr to sunhalle 00057 00058 Revision 1.1 1999/02/12 11:55:44 hall 00059 impl. SEnvironment slice 00060 00061 00062 * #end# ************************************************************* */ 00063 00064 #ifndef SMODIFIER_H 00065 #define SMODIFIER_H 00066 00067 // system header files 00068 #include <iostream> 00069 #include <cassert> 00070 00071 // project header files 00072 #include "../tools/SFlexLexer.h" 00073 00074 00120 class SModifier { 00121 public: 00124 SModifier() {}; 00127 virtual ~SModifier() {}; 00128 00133 virtual bool load(std::istream &in) =0; 00134 00137 virtual void save(std::ostream &out) const =0; 00138 00139 virtual void sample() 00140 { assert("sampling not implemented"); } 00141 00142 protected: 00143 00151 SFlexLexer& getLexer(std::istream& in); 00152 00153 private: 00156 /*# SFlexLexer _lexer */ 00157 static std::istream* _pcurrInputStream; 00158 static SFlexLexer _lexer; 00159 }; 00160 00161 #endif //SMODIFIER_H 00162 00163 00164 00165 00166 00167