OpenASIP
2.0
|
#include <EntryKeyProperty.hh>
Public Member Functions | |
~EntryKeyProperty () | |
std::string | name () const |
EntryKeyFieldProperty * | createFieldProperty (std::string field) |
EntryKeyFieldProperty * | fieldProperty (std::string field) const |
Static Public Member Functions | |
static EntryKeyProperty * | create (std::string type) |
static EntryKeyProperty * | find (std::string type) |
static void | destroy () |
Protected Member Functions | |
EntryKeyProperty (std::string propertyName) | |
Private Types | |
typedef std::vector< EntryKeyFieldProperty * > | FieldPropertyTable |
Table of field types. More... | |
typedef std::vector< EntryKeyProperty * > | EntryPropertyTable |
Table of entry types. More... | |
Private Member Functions | |
EntryKeyProperty (const EntryKeyProperty &) | |
Copying not allowed. More... | |
EntryKeyProperty & | operator= (const EntryKeyProperty &) |
Assignment not allowed. More... | |
Private Attributes | |
std::string | name_ |
Entry type. More... | |
FieldPropertyTable | entryFields_ |
Field types of the entry type. More... | |
Static Private Attributes | |
static EntryPropertyTable | entryTypes_ |
All known entry types. More... | |
Represents a type of an CostDBEntryKey which contains types of its fields, that is, EntryKeyFields.
Using the EntryKeyProperty usually includes finding of the specific EntryKeyProperty with Find(). Then the types of EntryKeyProperty's fields can be accessed using FieldProperty(). Creation of the types is done similarly using first Create() and then CreateFieldProperty().
For each CostDBEntryKey an EntryKeyProperty should be assigned.
Definition at line 57 of file EntryKeyProperty.hh.
|
private |
Table of entry types.
Definition at line 76 of file EntryKeyProperty.hh.
|
private |
Table of field types.
Definition at line 74 of file EntryKeyProperty.hh.
EntryKeyProperty::~EntryKeyProperty | ( | ) |
Destructor.
Deallocates memory reserved for field types.
Definition at line 59 of file EntryKeyProperty.cc.
References assert, and entryFields_.
|
protected |
Constructor.
propertyName | Type of entry. |
Definition at line 51 of file EntryKeyProperty.cc.
Referenced by create().
|
private |
Copying not allowed.
|
static |
Creates entry type.
If exists, returns the old one.
type | Entry type. |
Definition at line 125 of file EntryKeyProperty.cc.
References EntryKeyProperty(), and entryTypes_.
Referenced by CostDatabase::CostDatabase().
EntryKeyFieldProperty * EntryKeyProperty::createFieldProperty | ( | std::string | field | ) |
Creates field type.
If exists, returns the old one.
field | Type of field. |
Definition at line 79 of file EntryKeyProperty.cc.
References entryFields_.
Referenced by CostDatabase::CostDatabase().
|
static |
Deallocates memory reserved for entry types.
Definition at line 166 of file EntryKeyProperty.cc.
References assert, and entryTypes_.
EntryKeyFieldProperty * EntryKeyProperty::fieldProperty | ( | std::string | field | ) | const |
Finds field type.
If not found, exits.
field | Field type. |
KeyNotFound | Requested field was not found. |
Definition at line 104 of file EntryKeyProperty.cc.
References entryFields_.
Referenced by CostDatabase::buildBuses(), CostDatabase::buildFunctionUnits(), CostDatabase::buildRegisterFiles(), CostDatabase::buildSockets(), InterpolatingRFEstimator::createSearch(), InterpolatingFUEstimator::createSearch(), InterpolatingFUEstimator::createSearchTypes(), InterpolatingRFEstimator::createSearchTypes(), and CostDBEntryKey::keyFieldOfType().
|
static |
Finds entry type.
If not found, exits.
type | Entry type. |
KeyNotFound | Requested field was not found. |
Definition at line 150 of file EntryKeyProperty.cc.
References entryTypes_.
Referenced by CostDatabase::buildBuses(), CostDatabase::buildFunctionUnits(), CostDatabase::buildRegisterFiles(), CostDatabase::buildSockets(), InterpolatingFUEstimator::initializeEstimator(), and InterpolatingRFEstimator::initializeEstimator().
std::string EntryKeyProperty::name | ( | ) | const |
Referenced by EntryKeyFieldProperty::entryName().
|
private |
Assignment not allowed.
|
private |
Field types of the entry type.
Definition at line 81 of file EntryKeyProperty.hh.
Referenced by createFieldProperty(), fieldProperty(), and ~EntryKeyProperty().
|
staticprivate |
All known entry types.
Definition at line 84 of file EntryKeyProperty.hh.
|
private |
Entry type.
Definition at line 79 of file EntryKeyProperty.hh.