34#ifndef TTA_COST_DATABASE_HH
35#define TTA_COST_DATABASE_HH
43#include <boost/regex.hpp>
72 void buildBuses(
const std::string& busEstimatorPluginName);
73 void buildSockets(
const std::string& socketEstimatorPluginName);
90 boost::smatch
getValues(
const std::string& text,
const std::string& regex);
#define IGNORE_CLANG_WARNING(X)
std::vector< MatchType * > MatchTypeTable
Table of types of match.
std::vector< CostDBEntry * > EntryTable
Table of database entries.
CostDatabase(const CostDatabase &)
Copying not allowed.
boost::smatch getValues(const std::string &text, const std::string ®ex)
Finds string matches using regular expressions.
void buildBuses(const std::string &busEstimatorPluginName)
static CostDatabase & instance(const HDB::HDBManager &hdb)
void buildSockets(const std::string &socketEstimatorPluginName)
void setSearchStrategy(SearchStrategy *strategy)
void buildRegisterFiles(const std::string &rfEstimatorPluginName)
void buildFunctionUnits(const std::string &fuEstimatorPluginName)
void buildDefaultCostDatabase()
static CostDatabase * instance_
Unique instance of the class.
CostDatabaseRegistry * registry_
Registry of CostDatabases.
bool busesBuilt_
Flag to note is buses built.
std::map< const EntryKeyProperty *, CostDBTypes::MatchTypeTable > MatchTypeMap
Search type for each entry type.
bool isRegisterFilesBuilt()
CostDatabase & operator=(const CostDatabase &)
Assignment not allowed.
std::map< const EntryKeyProperty *, CostDBTypes::EntryTable > EntryMap
Map of database entries according to entry type.
bool socketsBuilt_
Flag to note is sockets built.
bool functionUnitsBuilt_
Flag to note is function units built.
void insertEntry(CostDBEntry *entry)
bool registerFilesBuilt_
Flag to note is register files built.
const HDB::HDBManager & hdb_
HDB used for creating cost database.
EntryMap entries_
Database entries.
CostDBTypes::EntryTable search(const CostDBEntryKey &searchKey, const CostDBTypes::MatchTypeTable &match) const
bool isFunctionUnitsBuilt()
std::pair< const EntryKeyProperty *, CostDBTypes::MatchTypeTable > MatchTypeMapType
Value type for map of search types.
SearchStrategy * searchStrategy_
Search strategy used for queries.