#include <coherence/util/filter/ArrayFilter.hpp>
Inherits Object, IndexAwareFilter, and PortableObject.
Inherited by AllFilter, AnyFilter, and XorFilter.
Public Types | ||||
typedef spec::Handle | Handle | |||
ArrayFilter Handle definition. | ||||
typedef spec::View | View | |||
ArrayFilter View definition. | ||||
typedef spec::Holder | Holder | |||
ArrayFilter Holder definition. | ||||
Public Member Functions | ||||
virtual void | readExternal (PofReader::Handle hIn) | |||
virtual void | writeExternal (PofWriter::Handle hOut) const | |||
virtual bool | equals (Object::View v) const | |||
Compare the ArrayFilter with another object to determine equality. | ||||
virtual size32_t | hashCode () const | |||
Return a hash code value for the Object. This method is supported for the benefit of hash-based containers.
The general contract of
The default implementation is identity based.
| ||||
virtual void | toStream (std::ostream &out) const | |||
Output a human-readable description of this Object to the given stream. coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toStream method, to output Objects. If a managed String object is desired, the COH_TO_STRING macro can be used to build up a String from streamable contents.
Object::View vKey = ... Object::View vValue = ... std::cout << vKey << " = " << vValue << std::endl; String::Handle hs = COH_TO_STRING(vKey << " = " << vValue);
| ||||
virtual ObjectArray::View | getFilters () const | |||
Obtain the Filter array. | ||||
Protected Member Functions | ||||
ArrayFilter () | ||||
Default constructor (necessary for the PortableObject interface). | ||||
ArrayFilter (ObjectArray::View vaFilter) | ||||
Construct a logical filter that applies a binary operator to a filter array. | ||||
virtual ObjectArray::View | calculateFilters (Map::View vMapIndexes, Set::View vSetKeys) const | |||
Calculate the effectiveness and sort all the participating filters according to their effectiveness. | ||||
virtual Filter::View | applyFilter (IndexAwareFilter::View vFilter, Map::View vMapIndexes, Set::Handle hSetKeys) const | |||
Apply the specified IndexAwareFilter to the specified keySet. | ||||
Protected Attributes | ||||
FinalView< ObjectArray > | f_vaFilter | |||
The Filter array. | ||||
Classes | ||||
class | WeightedFilter | |||
A thin wrapper around a Filter allowing for sorting the filters according to their effectiveness. More... |
ArrayFilter | ( | ObjectArray::View | vaFilter | ) | [protected] |
virtual bool equals | ( | Object::View | v | ) | const [virtual] |
Compare the ArrayFilter with another object to determine equality.
Two ArrayFilter objects are considered equal iff they belong to the same class and their underlying Filter arrays are deep-equal.
virtual ObjectArray::View getFilters | ( | ) | const [virtual] |
virtual ObjectArray::View calculateFilters | ( | Map::View | vMapIndexes, | |
Set::View | vSetKeys | |||
) | const [protected, virtual] |
Calculate the effectiveness and sort all the participating filters according to their effectiveness.
vMapIndexes | the available MapIndex objects keyed by the related ValueExtractor; read-only | |
vSetKeys | the set of keys that will be filtered; read-only |
virtual Filter::View applyFilter | ( | IndexAwareFilter::View | vFilter, | |
Map::View | vMapIndexes, | |||
Set::Handle | hSetKeys | |||
) | const [protected, virtual] |
Apply the specified IndexAwareFilter to the specified keySet.
vFilter | the IndexAwareFilter to apply an index to | |
vMapIndexes | the available MapIndex objects keyed by the related ValueExtractor; read-only | |
hSetKeys | the mutable set of keys that remain to be filtered |