22 #ifndef OTAWA_PROC_FEATURE_H
23 #define OTAWA_PROC_FEATURE_H
25 #include <elm/string.h>
35 class FeatureDependency;
45 template <
class T,
class C = default_handler_t>
59 extern Identifier<const AbstractFeature *>
DEF_BY;
65 template <
class T,
class C>
69 template <
class T,
class C>
76 proc.process(fw, props);
static void clean(WorkSpace *ws)
Definition: Feature.h:40
virtual void process(WorkSpace *fw, const PropList &props=PropList::EMPTY) const
This method is called, when a feature is not available, to provided a default implementation of the f...
Definition: Feature.h:70
static void check(WorkSpace *fw)
Definition: Feature.h:39
static const PropList EMPTY
This is an empty proplist for convenience.
Definition: PropList.h:66
struct otawa::default_handler_t default_handler_t
StringOption proc(command, 'p',"processor","used processor","path","")
void process(WorkSpace *ws, const PropList &props=PropList::EMPTY)
Execute the code processor on the given framework.
Definition: proc_Processor.cpp:418
The processor class is implemented by all code processor.
Definition: Processor.h:49
Property * defBy(const AbstractFeature *feature)
Definition: Feature.h:60
virtual void clean(WorkSpace *ws) const
This method is called each time a feature is invalidated.
Definition: Feature.h:54
A workspace represents a program, its run-time and all information about WCET computation or any othe...
Definition: WorkSpace.h:67
Identifier< const AbstractFeature * > DEF_BY
Identifier for identifier property providing ownerness of an identifier.
Property * make(const Identifier< T > &id, const T &v)
Definition: info.h:31
Feature(CString name="")
Definition: Feature.h:66
cstring name
Definition: odisasm.cpp:107
See Feature.
Definition: AbstractFeature.h:36
This a list of properties.
Definition: PropList.h:63
virtual void check(WorkSpace *fw) const
Check if the framework really implement the current feature.
Definition: Feature.h:53
A property associates a data with an identifier.
Definition: PropList.h:42
A feature is a set of facilities, usually provided using properties, available on a framework...
Definition: Feature.h:46