OpenASIP
2.0
|
#include <Matcher.hh>
Public Member Functions | |
Matcher (const EntryKeyFieldProperty *type) | |
virtual | ~Matcher () |
virtual void | quickFilter (const CostDBEntryKey &searchKey, CostDBTypes::EntryTable &components)=0 |
virtual void | filter (const CostDBEntryKey &, CostDBTypes::EntryTable &)=0 |
Protected Member Functions | |
const EntryKeyFieldProperty * | fieldType () const |
bool | onlyThisFieldDiffers (const EntryKeyFieldProperty *type, const CostDBEntry &entry1, const CostDBEntry &entry2) const |
Private Member Functions | |
Matcher (const Matcher &) | |
Copying not allowed. More... | |
Matcher & | operator= (const Matcher &) |
Assignment not allowed. More... | |
Private Attributes | |
const EntryKeyFieldProperty * | fieldType_ |
Type of the field on which filtering is applied to. More... | |
Interface for searching database entries.
Search is based only on the information of one specific field of the entries. Using the interface for queries requires at first a QuickFilter() call and then a Filter() call.
Definition at line 50 of file Matcher.hh.
Matcher::Matcher | ( | const EntryKeyFieldProperty * | type | ) |
Constructor.
Marks the field type to which a search is aplied.
type | Type of the field. |
Definition at line 44 of file Matcher.cc.
|
virtual |
|
private |
Copying not allowed.
|
protected |
Referenced by Interpolation::filter(), and ExactMatch::quickFilter().
|
pure virtual |
Searches for database entries that match the search key.
Implemented in Interpolation, SelectSet< select, unSelect >, SelectSet<&EntryKeyField::isGreater, &EntryKeyField::isSmaller >, SelectSet<&EntryKeyField::isSmaller, &EntryKeyField::isGreater >, and ExactMatch.
|
protected |
Checks if only a specific field of two entries is different and all other fields have equal values.
type | Type of the field. |
entry1 | An entry. |
entry2 | An entry. |
Definition at line 64 of file Matcher.cc.
References CostDBEntry::field(), CostDBEntry::fieldCount(), EntryKeyField::isEqual(), CostDBEntry::keyFieldOfType(), and EntryKeyField::type().
Referenced by Interpolation::filter().
|
pure virtual |
Filters out unnecessary entries in linear time.
searchKey | Search key. |
components | Entries from which to find. Updated to contain entries that matched the search request. |
Implemented in SelectSet< select, unSelect >, SelectSet<&EntryKeyField::isGreater, &EntryKeyField::isSmaller >, SelectSet<&EntryKeyField::isSmaller, &EntryKeyField::isGreater >, ExactMatch, and Interpolation.
|
private |
Type of the field on which filtering is applied to.
Definition at line 85 of file Matcher.hh.