35#ifndef TTA_SCHEDULING_RESOURCE_HH
36#define TTA_SCHEDULING_RESOURCE_HH
57 virtual bool isInUse(
const int cycle)
const = 0;
66 const int group)
const;
68 const int group)
const;
77 const int index)
const;
80 const int index)
const;
85 virtual const std::string&
name()
const;
121 virtual void clear();
void remove(SchedulingResource &resource)
SchedulingResource & resource(int index) const
SchedulingResourceSet & operator=(const SchedulingResourceSet &newSet)
std::vector< SchedulingResource * > ResourceList
bool hasResource(SchedulingResource &res)
void insert(SchedulingResource &resource)
virtual bool isOutputFUResource() const
virtual void addToDependentGroup(const int group, SchedulingResource &resource)
virtual void increaseUseCount()
virtual bool isBusResource() const
SchedulingResource(const SchedulingResource &)
virtual bool validateRelatedGroups()
virtual SchedulingResource & relatedResource(const int group, const int index) const
int instructionIndex(int cycle) const
virtual void unassign(const int cycle, MoveNode &node)=0
virtual bool validateDependentGroups()
virtual bool isITemplateResource() const
int relatedResourceCount(const int group) const
virtual bool canAssign(const int cycle, const MoveNode &node) const =0
void setInitiationInterval(unsigned int ii)
virtual bool isShortImmPSocketResource() const
virtual SchedulingResource & dependentResource(const int group, const int index) const
std::vector< SchedulingResource * > SchedulingResourceVector
virtual void addToRelatedGroup(const int group, SchedulingResource &resource)
virtual bool isInputPSocketResource() const
SchedulingResource & operator=(const SchedulingResource &)
std::set< const SchedulingResource * > SchedulingResourceSet
virtual const std::string & name() const
virtual bool isIUResource() const
virtual bool hasDependentResource(const SchedulingResource &sResource) const
virtual void decreaseUseCount()
std::vector< SchedulingResourceVector > SchedulingResourceGroup
virtual bool hasRelatedResource(const SchedulingResource &sResource) const
SchedulingResourceGroup dependentResourceGroup_
virtual ~SchedulingResource()
virtual bool isOutputPSocketResource() const
int dependentResourceCount(const int group) const
virtual int relatedResourceGroupCount() const
virtual bool isAvailable(const int cycle) const =0
virtual bool isSegmentResource() const
virtual bool isInputFUResource() const
virtual bool operator<(const SchedulingResource &other) const
virtual int useCount() const
virtual void assign(const int cycle, MoveNode &node)=0
SchedulingResourceGroup relatedResourceGroup_
virtual void setMaxCycle(unsigned int)
virtual bool isExecutionPipelineResource() const
virtual int dependentResourceGroupCount() const
int initiationInterval() const
virtual bool isInUse(const int cycle) const =0
SchedulingResourceSet relatedResourceSet_
bool operator()(SchedulingResource *x, SchedulingResource *y)