strus  0.17
weightingFunctionInterface.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Patrick P. Frey
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  */
10 #ifndef _STRUS_WEIGHTING_FUNCTION_INTERFACE_HPP_INCLUDED
11 #define _STRUS_WEIGHTING_FUNCTION_INTERFACE_HPP_INCLUDED
13 #include <vector>
14 #include <string>
15 
16 namespace strus
17 {
19 class WeightingFunctionInstanceInterface;
21 class QueryProcessorInterface;
22 
25 {
26 public:
29 
34  const QueryProcessorInterface* processor) const=0;
35 
38  virtual FunctionDescription getDescription() const=0;
39 };
40 
41 }//namespace
42 #endif
43 
virtual WeightingFunctionInstanceInterface * createInstance(const QueryProcessorInterface *processor) const =0
Create an instance of this function for parametrization.
Description of a weighting or summarizer function.
Interface for a parameterized weighting function instance.
Definition: weightingFunctionInstanceInterface.hpp:29
virtual FunctionDescription getDescription() const =0
Get a description of the function for user help and introspection.
Defines all object instances involved in query evaluation addressable by name.
Definition: queryProcessorInterface.hpp:27
virtual ~WeightingFunctionInterface()
Destructor.
Definition: weightingFunctionInterface.hpp:28
Interface for a weighting function that can be used for ranking in the query evaluation.
Definition: weightingFunctionInterface.hpp:24
Structure that describes a function (weighting or summarizer function) for introspection.
Definition: functionDescription.hpp:20