|
OpenASIP 2.2
|
#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. | |
| Matcher & | operator= (const Matcher &) |
| Assignment not allowed. | |
Private Attributes | |
| const EntryKeyFieldProperty * | fieldType_ |
| Type of the field on which filtering is applied to. | |
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 ExactMatch, SelectSet< select, unSelect >, SelectSet<&EntryKeyField::isGreater, &EntryKeyField::isSmaller >, SelectSet<&EntryKeyField::isSmaller, &EntryKeyField::isGreater >, and Interpolation.
|
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 Interpolation, ExactMatch, SelectSet< select, unSelect >, SelectSet<&EntryKeyField::isGreater, &EntryKeyField::isSmaller >, and SelectSet<&EntryKeyField::isSmaller, &EntryKeyField::isGreater >.
|
private |
Type of the field on which filtering is applied to.
Definition at line 85 of file Matcher.hh.