Protocol class
which defines Processor interface.
More...
#include <keyvalue/mngt/Processor.h>
Public Member Functions | |
virtual const char * | getName () const =0 |
Gets Processor's name. | |
Private Member Functions | |
virtual value::Result | getResult (const DataSet &data) const =0 |
Gets result of processing a DataSet. | |
Friends | |
class | DataSet |
Protocol class
which defines Processor interface.
This is the abstract base class
for all processors. Since this class
is abstract, it cannot be instantiated to build or calculate a particular type of object or value. When one wants to build or calculate a known type of result, then he/she must use ProcessorInstantiator.
virtual const char* getName | ( | ) | const [pure virtual] |
virtual value::Result getResult | ( | const DataSet & | data | ) | const [private, pure virtual] |
Gets result of processing a DataSet.
This is a low level method which bypasses the memoization technique implemented by DataSet (see DataSet::mustUpdate()). Therefore, if processor is a Processor and data is a DataSet, then rather than
processor.getResult(data);
one should use
data.process(processor);
Actually, the latter calls the former adding memoization support.
data | : DataSet to be processed. |
Implemented in Builder< Tag >, and Calculator< Tag >.