HCE project C++ developers source code library  1.1.1
HCE project developer library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SphinxTaskReducer.hpp
Go to the documentation of this file.
1 
15 #ifndef SPHINXREDUCER_HPP_
16 #define SPHINXREDUCER_HPP_
17 
18 #include "SphinxTaskReducerIf.hpp"
21 #include "SphinxResultData.hpp"
24 #include <vector>
25 
26 namespace HCE{
27 namespace sphinx{
28 namespace reduce_task{
29 
31 public:
32  SphinxTaskReducer(SphinxResultBuilderIf& sphinxResultBuilder,
33  SphinxReduceJobBuilderIf& reduceJobBuilder,
34  SphinxResultDataAccumulatorFactoryIf& sphinxResultDataAccumulatorFactory);
35  virtual ~SphinxTaskReducer();
36 
37  void addData(SphinxResultData& sphinxResultData);
38  void reduce(HCE::reduce::core::ScheduleStrategyIf& scheduleStrategy);
39  Poco::SharedPtr<SphinxResultData> getResult();
40 
41 private:
43  SphinxResultBuilderIf& _sphinxResultBuilder;
44  Poco::SharedPtr<HCE::reduce::core::ReduceJobIf> _reduceJob;
45  Poco::SharedPtr<SphinxResultDataAccumulatorIf> _sphinxResultDataAccumulator;
46 };
47 }
48 }
49 }
50 
51 #endif