IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
AlgorithmFunctionIdentifier.h
1 // AlgorithmFunctionIdentifier.h:
3 // ------------------------------
4 //
14 
15 #ifndef __IPSDKBASEPROCESSING_ALGORITHMFUNCTIONIDENTIFIER_H__
16 #define __IPSDKBASEPROCESSING_ALGORITHMFUNCTIONIDENTIFIER_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::processor::AlgorithmFunctionIdentifier::_pDataTypeCollId' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::processor::AlgorithmFunctionIdentifier'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKBaseProcessing/Algorithm/BaseProcessingAlgorithm.h>
25 #include <IPSDKBaseProcessing/Algorithm/Function/DataTypeIdentifierColl.h>
26 #include <IPSDKBaseProcessing/Algorithm/Function/InstructionSetsIdentifier.h>
27 #include <IPSDKUtil/Dynamic/BaseDynamicObject.h>
28 
29 namespace ipsdk {
30 namespace processor {
31 
34 
36 {
37  // declare dynamic class
39 
40 // predefined public types
41 public:
44 
47 
50 
51 public:
57 
58 // methods
59 public:
61  bool isInit() const;
62 
68  void init(const DataTypeIdColl& dataTypeIdColl,
69  const InstructionSetsId& instructionSetsId,
70  const ipUInt32 computationEfficiency,
71  const FunctionType function);
72 
76  const eISAlignment& getAlignmentType() const;
77 
81  ipUInt8 getAlignmentSize() const;
82 
86  const DataTypeIdColl& getDataTypeIdColl() const;
87 
91  const InstructionSetsId& getInstructionSetsId() const;
92 
96  ipUInt32 getComputationEfficiency() const;
97 
101  FunctionType getFunction() const;
102 
104  void clear();
105 
106 // attributes
107 public:
110 
113 
116 
119 
121  bool _bInit;
122 };
123 
126 
127 inline bool
129 {
130  return _bInit;
131 }
132 
135 
136 } // end of namespace processor
137 } // end of namespace ipsdk
138 
139 #pragma warning (pop)
140 
141 #endif // __IPSDKBASEPROCESSING_ALGORITHMFUNCTIONIDENTIFIER_H__
Base class for dynamic objects.
Definition: BaseDynamicObject.h:28
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
InstructionSetsIdentifier InstructionSetsId
instruction sets identifier collection associated to object
Definition: AlgorithmFunctionIdentifier.h:46
DataTypeIdentifierColl DataTypeIdColl
data type identifier collection associated to object
Definition: AlgorithmFunctionIdentifier.h:43
IPSDKUTIL_API eISAlignment getAlignmentType(const eInstructionSet &instructionSet)
FunctionType _function
underlying image processing function
Definition: AlgorithmFunctionIdentifier.h:118
BaseProcessingAlgorithm::FunctionType FunctionType
function type associated to object
Definition: AlgorithmFunctionIdentifier.h:49
InstructionSetsId _instructionSetsId
instruction sets associated to function
Definition: AlgorithmFunctionIdentifier.h:112
ipUInt32 _computationEfficiency
computation efficiency associated to function
Definition: AlgorithmFunctionIdentifier.h:115
bool isInit() const
retrieve object initialisation flag
Definition: AlgorithmFunctionIdentifier.h:128
uint8_t ipUInt8
Base types definition.
Definition: BaseTypes.h:49
Definition of import/export macro for library.
eISAlignment
Enumerate describing memory data alignments.
Definition: InstructionSetTypes.h:59
IPSDKUTIL_API ipUInt8 getAlignmentSize(const eInstructionSet &instructionSet)
DataTypeIdColl _dataTypeCollId
data type identifiers associated to function
Definition: AlgorithmFunctionIdentifier.h:109
Class allowing to identify a processing function.
Definition: AlgorithmFunctionIdentifier.h:35
BoolResult(BaseProcessingAlgorithm::* FunctionType)(const ProcessingInfo &info)
type associated to image processing functions
Definition: BaseProcessingAlgorithm.h:52
#define IPSDK_DECLARE_DYNAMIC_WITH_COPY(libraryName, className)
macro enabling dynamic properties on class and copy support
Definition: DynamicHdrMacro.h:83
bool _bInit
object initialisation flag
Definition: AlgorithmFunctionIdentifier.h:121
Class used for data type collection function identification.
Definition: DataTypeIdentifierColl.h:34
Class used for processor instruction sets function identification.
Definition: InstructionSetsIdentifier.h:33
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53