OpenASIP  2.0
Public Member Functions | List of all members
ScopeSelector Class Referenceabstract

#include <ScopeSelector.hh>

Collaboration diagram for ScopeSelector:
Collaboration graph

Public Member Functions

virtual ~ScopeSelector ()
 
virtual void buildScopes ()=0
 
virtual SchedulingScopegetScope ()=0
 

Detailed Description

Scope selectors return one scheduling scope at a time to be scheduled.

For example, a basic block scope selector returns basic blocks from the CFG one at a time.

Definition at line 44 of file ScopeSelector.hh.

Constructor & Destructor Documentation

◆ ~ScopeSelector()

ScopeSelector::~ScopeSelector ( )
virtual

Destructor for Scope Selector interface class.

Definition at line 39 of file ScopeSelector.cc.

39  {
40 }

Member Function Documentation

◆ buildScopes()

void ScopeSelector::buildScopes ( )
pure virtual

Builds the scopes.

This function has to be called before getScope can be called.

Note
Why? What's wrong with constructors?

Definition at line 50 of file ScopeSelector.cc.

50  {
51 }

◆ getScope()

SchedulingScope * ScopeSelector::getScope ( )
pure virtual

Returns a scope to schedule next.

The client is responsible for deallocating the scopes after using This returns all scopes in program one-by-one, in undetermined order in the point-of-view of the caller.

Returns
A scheduling scope, or NULL if all scopes already given.

Definition at line 63 of file ScopeSelector.cc.

63  {
64  throw NotAvailable(
65  __FILE__,__LINE__, "ScopeSelector::getScope()",
66  "This function should never be called");
67 }

The documentation for this class was generated from the following files:
NotAvailable
Definition: Exception.hh:728