Main Page   Class Hierarchy   Compound List   File List   Compound Members  

PartitionLibrarySet.h

00001 
00043 #ifndef PARTITIONLIBRARYSET_H
00044 #define PARTITIONLIBRARYSET_H
00045 
00046 class LibrarySet;
00047 class Library;
00048 
00049 #include <vector>
00050 
00095 class PartitionLibrarySet
00096 {
00097 public:
00098 
00102   PartitionLibrarySet( void );
00103 
00107   ~PartitionLibrarySet( void );
00108 
00114   std::vector< LibrarySet* > buildPartition( LibrarySet * p_library_set, int p_minimum_partition_size );
00115  
00116 protected:
00117 
00118   std::vector< int > findMaximumNumberOfPartition( const int p_smallest_size, LibrarySet * p_library_set );
00119   std::vector< int > findOptimalNumberOfPartition( const std::vector< int > & p_largest_size );
00120 
00121 private:
00122   
00123   // All pointers already allocated can be reused.
00124   void freePointers( void );
00125 
00126   // Manage the Pointer acquisitions.
00127   LibrarySet* getLibrarySetPointer( void );
00128 
00129   // Contains the LibrarySet memory allocated by this class.
00130   std::vector< LibrarySet* > m_library_set_buffer;
00131 
00132   // Points to the next unused pointer of library set.
00133   int m_library_set_buffer_index;
00134 
00135   // Manage the pointer acquisition.
00136   Library* getLibraryPointer( void );
00137 
00138   // Contains the Library memory allocated by this class.
00139   std::vector< Library* > m_library_buffer;
00140 
00141   // Points to the next unused pointer of library.
00142   int m_library_buffer_index;
00143 
00144 };
00145  
00146 #endif 
00147 std::vector< Library* > m_library_buffer;
00148 
00149   // Points to the next unused pointer of library.
00150   int m_library_buffer_index;
00151 
00152 };
00153  
00154 #endif 

Generated on Sat Nov 4 15:58:59 2006 for GLARE by doxygen1.2.18