Otawa  0.10
otawa::FeatureDependency Class Reference

A feature dependency represents the dependencies used to implement a feature and is a node of the dependency graph. More...

#include <otawa/proc/FeatureDependency.h>

Inheritance diagram for otawa::FeatureDependency:
elm::CleanList

Classes

class  Dependent
 

Public Member Functions

 FeatureDependency (const AbstractFeature *_feature)
 Build a dependency for the given feature. More...
 
 ~FeatureDependency (void)
 
void add (FeatureDependency *to)
 Create a dependency from the current feature to the given one. More...
 
void remove (FeatureDependency *from)
 Remove the dependency of the current feature from the given one. More...
 
const AbstractFeaturegetFeature (void) const
 Get the feature supported by this dependency. More...
 
void add (Cleaner *cleaner)
 
void clean (void)
 
Cleaneroperator() (Cleaner *cleaner)
 
const AutoPtr< T > & operator() (const AutoPtr< T > &object)
 
T * operator() (T *object)
 

Private Types

typedef genstruct::SLList
< FeatureDependency * > 
list_t
 

Private Attributes

const AbstractFeaturefeature
 
list_t parents
 
list_t children
 

Detailed Description

A feature dependency represents the dependencies used to implement a feature and is a node of the dependency graph.

Member Typedef Documentation

Constructor & Destructor Documentation

otawa::FeatureDependency::FeatureDependency ( const AbstractFeature _feature)

Build a dependency for the given feature.

Parameters
_featureFeature this dependency represents.
otawa::FeatureDependency::~FeatureDependency ( void  )

Member Function Documentation

void otawa::FeatureDependency::add ( FeatureDependency to)

Create a dependency from the current feature to the given one.

Parameters
toFeature which the current feature depends to.

References elm::genstruct::SLList< T, E >::add(), children, and parents.

Referenced by otawa::WorkSpace::provide().

const AbstractFeature * otawa::FeatureDependency::getFeature ( void  ) const
inline

Get the feature supported by this dependency.

Returns
Feature ported by this dependency.
void otawa::FeatureDependency::remove ( FeatureDependency from)

Remove the dependency of the current feature from the given one.

Parameters
fromFeature to remove depedency from.

References children, parents, and elm::genstruct::SLList< T, E >::remove().

Member Data Documentation

list_t otawa::FeatureDependency::children
private

Referenced by add(), remove(), and ~FeatureDependency().

const AbstractFeature* otawa::FeatureDependency::feature
private
list_t otawa::FeatureDependency::parents
private

Referenced by add(), remove(), and ~FeatureDependency().


The documentation for this class was generated from the following files: