feature_callable.h
890 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef FEATURE_CALLABLE_H
#define FEATURE_CALLABLE_H
#include <functional>
#include "multithread/callable.h"
#include "Importer/entry.h"
#include "feature.h"
/**
* @file feature_callable.h
* @brief Feature_callable file
* @author Ludovic PLATON
*/
namespace feature{
/**
* @brief The Feature_callable class
* @class feature_callable
*/
class Feature_callable: public callable::Callable<data::Data_basic*,data::Data_basic*>{
public:
virtual data::Data_basic* call(data::Data_basic* a)=0;
};
class Feature_creation:public Feature_callable{
protected:
virtual feature::Feature *create_feature(data::Data_basic* e)=0;
public:
Feature_creation(){}
~Feature_creation(){}
data::Data_basic* call(data::Data_basic* a){
feature::Feature *tmp = this->create_feature(a);
delete a;
return tmp;
}
void end(){}
};
}
#endif // FEATURE_CALLABLE_H