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
00124 void freePointers( void );
00125
00126
00127 LibrarySet* getLibrarySetPointer( void );
00128
00129
00130 std::vector< LibrarySet* > m_library_set_buffer;
00131
00132
00133 int m_library_set_buffer_index;
00134
00135
00136 Library* getLibraryPointer( void );
00137
00138
00139 std::vector< Library* > m_library_buffer;
00140
00141
00142 int m_library_buffer_index;
00143
00144 };
00145
00146 #endif
00147 std::vector< Library* > m_library_buffer;
00148
00149
00150 int m_library_buffer_index;
00151
00152 };
00153
00154 #endif