Go to the documentation of this file.
33 #ifndef TTA_DESIGN_SPACE_EXPLORER_PLUGIN_HH
34 #define TTA_DESIGN_SPACE_EXPLORER_PLUGIN_HH
66 typedef std::pair<std::string,
68 typedef std::map<std::string,
70 typedef std::map<std::string,
72 typedef std::map<std::string,
76 const std::string&
name,
const std::string& value);
79 virtual std::string
name()
const;
82 virtual std::vector<RowID>
explore(
83 const RowID& startPointConfigurationID,
84 const unsigned int& maxIter = 0);
86 virtual bool hasParameter(
const std::string& paramName)
const;
93 bool compulsory =
true,
100 template <
typename T>
103 template <
typename RT>
106 virtual bool booleanValue(
const std::string& parameter)
const;
125 #define EXPORT_DESIGN_SPACE_EXPLORER_PLUGIN(PLUGIN_NAME__) \
127 DesignSpaceExplorerPlugin* create_explorer_plugin_##PLUGIN_NAME__() { \
128 PLUGIN_NAME__* instance = new PLUGIN_NAME__(); \
129 instance->setPluginName(#PLUGIN_NAME__);\
132 void delete_explorer_plugin_##PLUGIN_NAME__(\
133 DesignSpaceExplorerPlugin* target) { \
145 #define PLUGIN_DESCRIPTION(TEXT__) \
147 virtual std::string description() const { return TEXT__; }
void readCompulsoryParameter(const std::string paramName, T ¶m) const
ExplorerPluginParameterType
virtual bool booleanValue(const std::string ¶meter) const
void checkParameters() const
std::pair< std::string, ExplorerPluginParameter > Parameter
int RowID
Type definition of row ID in relational databases.
DesignSpaceExplorerPlugin()
virtual ~DesignSpaceExplorerPlugin()
std::string pluginName_
the name of the explorer plugin
virtual void setPluginName(const std::string &pluginName)
void readOptionalParameter(const std::string paramName, T ¶m) const
virtual bool requiresStartingPointArchitecture() const =0
ParameterMap parameters_
Parameters for the plugin.
virtual void giveParameter(const std::string &name, const std::string &value)
virtual bool requiresHDB() const =0
virtual std::vector< RowID > explore(const RowID &startPointConfigurationID, const unsigned int &maxIter=0)
RT parameterValue(const std::string ¶mName) const
virtual bool producesArchitecture() const =0
virtual std::string name() const
virtual std::string description() const
std::map< std::string, ExplorerPluginParameter >::const_iterator PMCIt
virtual bool hasParameter(const std::string ¶mName) const
std::map< std::string, ExplorerPluginParameter > ParameterMap
std::map< std::string, ExplorerPluginParameter >::iterator PMIt
virtual bool requiresApplication() const
ParameterMap parameters() const
void addParameter(TCEString name, ExplorerPluginParameterType type, bool compulsory=true, TCEString defaultValue="", TCEString description="")
virtual bool requiresSimulationData() const =0