Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

model/topos/SSingleTopology.h

Go to the documentation of this file.
00001 /* #start# ***********************************************************
00002 
00003            Scheduling Simulator
00004         Lehrstuhl f"ur Effiziente Algorithmen
00005            Technische Universit"at M"unchen
00006 
00007  File    : $Id: SSingleTopology.h,v 1.4 2003/01/08 18:57:14 meierb Exp $
00008 
00009  Purpose : 
00010 
00011  RCS-Log:
00012  $Log: SSingleTopology.h,v $
00013  Revision 1.4  2003/01/08 18:57:14  meierb
00014  added randomized release times
00015 
00016  Revision 1.1.1.1  2002/12/02 22:26:19  meierb
00017  my_schedule
00018 
00019  Revision 1.2  2002/11/07 12:33:25  taeubig
00020  Added class keyword to friend declaration
00021 
00022  Revision 1.1  2002/08/29 12:59:59  taeubig
00023  Added the sources
00024 
00025  Revision 1.1  2000/05/29 14:44:40  taeubig
00026  Moved topology related stuff into subdirectory topos
00027 
00028  Revision 1.15  2000/05/24 12:46:26  taeubig
00029  New compiler (gcc-2.95) and new Qt (2.1)
00030  Replaced "list" by "leda_list" etc.
00031 
00032  Revision 1.14  2000/05/09 13:33:14  taeubig
00033  Defined fitsInto()  (replaces isSmaller())
00034 
00035  Revision 1.13  2000/01/17 17:38:11  zoidl
00036  added javadoc comments
00037 
00038  Revision 1.12  1999/11/24 12:20:59  taeubig
00039  getFreePos() no longer returns a reference
00040 
00041  Revision 1.11  1999/10/29 10:46:45  schickin
00042  line topology (between mesh and single-top.) added
00043 
00044  Revision 1.10  1999/10/05 13:42:31  zoidl
00045  lots of new load- and save-routines
00046 
00047  Revision 1.9  1999/06/17 16:34:50  hall
00048  STopology changed, tuned STSysSchedEvent-stuff and lost more!
00049 
00050  Revision 1.8  1999/04/27 13:39:39  schickin
00051  well folks, that's the first demo version that really runs 8-)
00052 
00053  Revision 1.7  1999/03/30 12:13:56  schickin
00054  dynamic_cast added, constructors for task system classes added
00055 
00056  Revision 1.6  1999/03/19 16:45:16  hall
00057  nc
00058 
00059  Revision 1.5  1999/02/12 11:55:52  hall
00060  impl. SEnvironment slice
00061 
00062  Revision 1.4  1999/02/10 15:05:50  schickin
00063  model-directory can be compiled now
00064 
00065  Revision 1.3  1999/02/08 17:22:34  hall
00066  forgotten files
00067 
00068  Revision 1.2  1999/01/29 10:03:55  schickin
00069  Project-Headers added.
00070 
00071 
00072  * #end# ************************************************************* */
00073 
00074 #ifndef SSINGLETOPOLOGY_H
00075 #define SSINGLETOPOLOGY_H
00076 
00077 // system header files
00078 
00079 // project header files
00080 #include "SLineTopology.h"
00081 #include "SSetTopology.h"
00082 #include "SSingleTopologyMod.h"
00083 
00089 class SSingleTopology :  public SSetTopology, public SLineTopology {
00090   TYPEINFO2(SSingleTopology, "single", SSetTopology, SLineTopology);
00091   friend class SSingleTopologyMod;
00092  public:
00095   SSingleTopology();
00098   virtual ~SSingleTopology() {};
00099 
00102   virtual STopologyMod &getModifier() 
00103     { return _mod; };
00104 
00113   virtual bool intersectsWith(const STopology &container, 
00114             const STopology &top, 
00115             int ownPos, int topPos) const;
00116 
00126   virtual bool contains(const STopology &container,
00127       const STopology &top, 
00128       int ownPos, int topPos) const;
00129 
00134   virtual int getCount() const { return 1; };
00135 
00140   virtual int getIDAt(int pos) const { 
00141     // MISSING IMPLEMENTATION ?
00142     return -1; 
00143   }
00144   
00149   virtual int getPos(int ID) const {
00150     // MISSING IMPLEMENTATION ?
00151     return 0; 
00152   }
00153 
00158   virtual bool isPosFree(int pos) const {
00159     // MISSING IMPLEMENTATION ?
00160     return (false);
00161   }
00162 
00167   virtual leda_list<int> getFreePos() const {
00168     // MISSING IMPLEMENTATION ?
00169     return _free;
00170   }
00171   
00177   virtual bool canEmbedAt(const STopology &top, int pos) const { 
00178     // MISSING IMPLEMENTATION ?
00179     return(false);
00180   }
00181   
00187   virtual leda_list<int> canEmbedAt(const STopology &top) const {
00188     // MISSING IMPLEMENTATION ?
00189     return _free;
00190   }
00191 
00197   virtual void embed(const STopology& top, int pos, int ID) {
00198     // MISSING IMPLEMENTATION ?
00199   }
00200   
00204   virtual void remove(int ID) {
00205     // MISSING IMPLEMENTATION ?
00206   }
00207 
00208   virtual bool fitsInto(const STopology *top) const
00209     { return true; }
00210 
00211  private:
00212   SSingleTopologyMod _mod;
00213   leda_list<int> _free;
00214 };
00215 
00216 #endif //SSINGLETOPOLOGY_H
00217 
00218 
00219 
00220 
00221 
00222 
00223 
00224 
00225 
00226 
00227 
00228 
00229 
00230 
00231 
00232 

Generated on Thu May 22 16:48:09 2003 for Sketch-it! by doxygen1.2.18