IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
CudaFunctionIdentifier.h
1 // CudaFunctionIdentifier.h:
3 // ------------------------------
4 //
14 
15 #ifndef __IPSDKBASEPROCESSING_CUDAFUNCTIONIDENTIFIER_H__
16 #define __IPSDKBASEPROCESSING_CUDAFUNCTIONIDENTIFIER_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::processor::CudaFunctionIdentifier::_pDataTypeCollId' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::processor::CudaFunctionIdentifier'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKBaseProcessing/Algorithm/BaseGpuProcessingAlgorithm.h>
25 #include <IPSDKBaseProcessing/Algorithm/Function/DataTypeIdentifierColl.h>
26 #include <IPSDKUtil/Dynamic/BaseDynamicObject.h>
27 
28 namespace ipsdk {
29 namespace processor {
30 
33 
35 {
36  // declare dynamic class
38 
39 // predefined public types
40 public:
43 
45  typedef BoolResult(BaseGpuProcessingAlgorithm::*FunctionType)(void); // a function with the signature bool f(int) has the type FunctionType
46 
47 public:
53 
54 // methods
55 public:
57  bool isInit() const;
58 
64  void init(const DataTypeIdColl& dataTypeIdColl,
65  const FunctionType function);
66 
70  const DataTypeIdColl& getDataTypeIdColl() const;
71 
75  FunctionType getFunction() const;
76 
78  void clear();
79 
80 // attributes
81 public:
84 
86  FunctionType _function;
87 
89  bool _bInit;
90 };
91 
94 
95 inline bool
97 {
98  return _bInit;
99 }
100 
103 
104 } // end of namespace processor
105 } // end of namespace ipsdk
106 
107 #pragma warning (pop)
108 
109 #endif // __IPSDKBASEPROCESSING_CUDAFUNCTIONIDENTIFIER_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
bool isInit() const
retrieve object initialisation flag
Definition: CudaFunctionIdentifier.h:96
DataTypeIdColl _dataTypeCollId
data type identifiers associated to function
Definition: CudaFunctionIdentifier.h:83
DataTypeIdentifierColl DataTypeIdColl
data type identifier collection associated to object
Definition: CudaFunctionIdentifier.h:42
Base class for gpu processing algorithm.
Definition: BaseGpuProcessingAlgorithm.h:34
Class allowing to identify a processing function.
Definition: CudaFunctionIdentifier.h:34
bool _bInit
object initialisation flag
Definition: CudaFunctionIdentifier.h:89
Definition of import/export macro for library.
ProcessingResult< bool > BoolResult
typedef for boolean results associated to a string description
Definition: ProcessingResultTypes.h:29
#define IPSDK_DECLARE_DYNAMIC_WITH_COPY(libraryName, className)
macro enabling dynamic properties on class and copy support
Definition: DynamicHdrMacro.h:83
Class used for data type collection function identification.
Definition: DataTypeIdentifierColl.h:34
FunctionType _function
underlying image processing function
Definition: CudaFunctionIdentifier.h:86