00001 /*------------------------------------------------------------------- 00002 * Name: legoSB.H 00003 * 00004 * Designer: Willie Glover 00005 * 00006 * Created: 5/28/96 00007 * 00008 * Description: This file contains the LEGO header file which 00009 * defines the superblock region derived class. 00010 * 00011 * Location: /ncsu/tinker/LEGO/src/derived/legoSB.H 00012 -------------------------------------------------------------------- 00013 * 5/28/96 WTG: Initial file creation. 00014 * 3/7/97 WAH: Began work on superblock construction. 00015 * 3/21/97 WAH: Revised work to build off traces. 00016 * 3/25/97 WAH: Added RefreshEdges method et al. 00017 * 6/11/97 WAH: Added GetOpCount method. 00018 --------------------------------------------------------------------*/ 00019 00020 #ifndef LEGOSB_H 00021 #define LEGOSB_H 00022 00023 #include <stdio.h> 00024 #include "legoMap.H" 00025 #include "region.H" 00026 00027 //--------------------------------------------------------------------------- 00028 00029 class legoTrace; 00030 00031 class legoSB : public legoRegion 00032 { 00033 public: 00034 00035 legoSB () : legoRegion(RT_SB,0) 00036 { 00037 // fprintf(stderr,"Creating LEGOSB %p\n",this); 00038 } 00039 legoSB (unsigned rId = 0): legoRegion(RT_SB,rId) 00040 { 00041 // fprintf(stderr,"Creating LEGOSB %p\n",this); 00042 } 00043 legoSB (const legoSB &orig) : legoRegion ((legoRegion) orig) 00044 { 00045 // fprintf(stderr,"Creating LEGOSB %p\n",this); 00046 } 00047 00048 ~legoSB () 00049 { 00050 OpKiller(); 00051 // fprintf(stderr,"Deleting LEGOSB %p\n",this); 00052 } 00053 int GetOpCount (void) 00054 { 00055 legoOp *op; 00056 int opct = 0, realopct; 00057 00058 realopct = GetCount(); 00059 for (int i = 0; i < realopct; i++) 00060 { 00061 op = (legoOp *) GetItem(i); 00062 if (!(op->IsDummy())) opct++; 00063 } // end for 00064 return opct; 00065 } 00066 00067 // legoTrace *Construct (legoRegion *, int &); 00068 void Dump (FILE *); 00069 00070 void RefreshOps (void); 00071 void RefreshEdges (void); 00072 // void SweepOps (void); 00073 }; 00074 00075 #endif // LEGOSB_H 00076
1.3.2