15 #ifndef __IPSDKBASEPROCESSING_BASEPROCESSINGALGORITHM_H__ 16 #define __IPSDKBASEPROCESSING_BASEPROCESSINGALGORITHM_H__ 19 #include <IPSDKBaseProcessing/Algorithm/Function/InstructionSetsIdentifier.h> 21 #include <IPSDKBaseProcessing/Processor/Instances/BaseSyncProcessor.h> 27 class DataTypeIdentifierColl;
28 class AlgorithmFunctionSelector;
29 class AlgorithmFunctionIdentifier;
30 struct ProcessingInfo;
77 virtual void getDataTypeIdColl(
DataTypeIdColl& dataTypeIdColl)
const = 0;
84 virtual void initDataParserColl(
DataParserColl& dataParserColl) = 0;
88 virtual void clearDataParserColl() = 0;
104 nbDataByElement = -1;
127 void extractInfo(
const DataParserColl& dataParserColl,
134 void initData(
const DataParserColl& dataParserColl,
141 void prepareData(
const DataParserColl& dataParserColl,
145 BoolResult processInitData(
const DataParserColl& dataParserColl,
151 BoolResult processMainData(
const DataParserColl& dataParserColl,
158 BoolResult processFinalData(
const DataParserColl& dataParserColl,
177 #endif // __IPSDKBASEPROCESSING_BASEPROCESSINGALGORITHM_H__ Class used to select a processing function given data types informations.
Definition: AlgorithmFunctionSelector.h:31
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
DataTypeIdentifierColl DataTypeIdColl
data type identifier collection used by processing algorithm
Definition: BaseProcessingAlgorithm.h:43
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
virtual core::ExecResult postProcess()
method called after processing
Definition: BaseProcessingAlgorithm.h:96
Structure agregating processing informations for algorithm processing function call.
Definition: ProcessingInfo.h:28
virtual core::ExecResult preProcess()
method called before processing
Definition: BaseProcessingAlgorithm.h:92
ProcessingResult< eExecutionResult > ExecResult
type used to retrieve an execution result
Definition: ProcessingTypes.h:65
Base class for synchronous processors.
Definition: BaseSyncProcessor.h:26
Execution is successful.
Definition: ProcessingTypes.h:53
Definition of import/export macro for library.
ProcessingResult< bool > BoolResult
typedef for boolean results associated to a string description
Definition: ProcessingResultTypes.h:29
Class allowing to identify a processing function.
Definition: AlgorithmFunctionIdentifier.h:35
AlgorithmFunctionSelector FunctionSelector
algorithm function selector type used by processing algorithm
Definition: BaseProcessingAlgorithm.h:49
Predefined types for data parser management.
virtual void getNoParseInfo(ipUInt64 &nbDataByElement, ipUInt64 &nbMaxInitData, ipUInt64 &nbMaxFinalData) const
Definition: BaseProcessingAlgorithm.h:100
Class used for data type collection function identification.
Definition: DataTypeIdentifierColl.h:34
Base class for processing algorithm.
Definition: BaseProcessingAlgorithm.h:35
AlgorithmFunctionIdentifier FunctionId
function identifier used by processing algorithm
Definition: BaseProcessingAlgorithm.h:46
Class used for processor instruction sets function identification.
Definition: InstructionSetsIdentifier.h:33
std::vector< DataParserPtr > DataParserColl
collection of data parser
Definition: BaseProcessingAlgorithm.h:80