void Statistics::DumpAllConfigs() const { int cnt = 0; for (CCIter it = Configs().begin(); it != Configs().end(); ++it, ++cnt) { ofstream out(string("test/cmp" + IntToStr(cnt+1) + ".cmp").c_str()); out << (*it).second->Config()->ToString(); out.close(); } }
void Statistics::DumpConfigs() const { if (system("mkdir -p test")) { cout << "-E- Could not create directory ./test - no configs will be dumped." << endl; } int cnt = 0; for (CCIter it = Configs().begin(); it != Configs().end(); ++it, ++cnt) { ofstream out(string("test/cmp" + IntToStr(cnt+1) + ".cmp").c_str()); out << it->second->Config()->ToString(); out.close(); } }
void Statistics::ReportWorstRoutability(UInt cnt) const { cout << "************* Stats: ReportWorstRoutability *************" << endl; typedef multimap<double, StatConfig*, less<double> > RoutMap; RoutMap routMap; for (CCIter it = Configs().begin(); it != Configs().end(); ++it) routMap.insert(make_pair(it->second->GetMetrics(0)->Routability(),it->second)); for (RoutMap::const_iterator it = routMap.begin(); it != routMap.end(); ++it, --cnt) { ReportConfig(it->second); if (cnt <= 1) break; } }
status_t ArpConfigureFile::ApplySettings(const BMessage* from) { if( from == 0 ) return B_BAD_VALUE; const ArpVectorI<ArpConfigurableI*>& configs = Configs(); const ArpVectorI<BString>& names = Names(); status_t err = B_OK; for( size_t i=0; err == B_OK && i<configs.size(); i++ ) { if( configs[i] ) { if( i < names.size() && names[i] != "" ) { BMessage msg; err = from->FindMessage(names[i].String(), &msg); if( err == B_OK ) { err = configs[i]->PutConfiguration(&msg); } } else { err = configs[i]->PutConfiguration(from); } } } return err; }
status_t ArpConfigureFile::MakeSettings(BMessage* in) const { if( in == 0 ) return B_BAD_VALUE; const ArpVectorI<ArpConfigurableI*>& configs = Configs(); const ArpVectorI<BString>& names = Names(); status_t err = B_OK; for( size_t i=0; err == B_OK && i<configs.size(); i++ ) { if( configs[i] ) { if( i < names.size() && names[i] != "" ) { BMessage msg; err = configs[i]->GetConfiguration(&msg); if( err == B_OK ) { err = in->AddMessage(names[i].String(), &msg); } } else { err = configs[i]->GetConfiguration(in); } } } return err; }
void Statistics::ReportAllConfigs() const { cout << "*************** Stats: ReportAllConfigs ***************" << endl; for (CCIter it = Configs().begin(); it != Configs().end(); ++it) ReportConfig((*it).second); }
Statistics::~Statistics() { for (CCIter it = Configs().begin(); it != Configs().end(); ++it) delete it->second; }