IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseStaticProcessorDispatcher.h
1 // BaseStaticProcessorDispatcher.h:
3 // --------------------------------
4 //
15 
16 #ifndef __IPSDKBASEPROCESSING_BASESTATICPROCESSORDISPATCHER_H__
17 #define __IPSDKBASEPROCESSING_BASESTATICPROCESSORDISPATCHER_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::processor::BaseStaticProcessorDispatcher::_dataSplitColl' : class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'ipsdk::processor::BaseStaticProcessorDispatcher'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
24 #include <IPSDKBaseProcessing/ProcessorDispatcher/BaseProcessorDispatcher.h>
25 
26 namespace ipsdk {
27 namespace processor {
28 
29 class BaseStaticSplit;
30 
33 
35 {
36 // predefined public types
37 public:
40 
41 public:
45  virtual ~BaseStaticProcessorDispatcher() = 0;
47 
48 // methods
49 public:
50 
51 protected:
53  typedef boost::shared_ptr<DataSplitType> DataSplitPtr;
54 
56  typedef std::vector<DataSplitPtr> DataSplitColl;
57 
61  BoolResult initBase(const core::BasePriority& actionPriority,
62  const DataSplitColl& dataSplitColl);
63  BoolResult initBase(const core::BasePriority& actionPriority,
64  const ipUInt64 nbMaxThreads,
65  const DataSplitColl& dataSplitColl);
67 private:
70  BoolResult initAttributes(const ElementsRange& elementsRange,
71  const core::BaseRequestOrigin& requestOrigin,
72  const ProcessorPtr& pProcessor);
73 
75  void clearDerived();
76 
77 // attributes
78 protected:
81 };
82 
85 
86 } // end of namespace processor
87 } // end of namespace ipsdk
88 
89 #pragma warning (pop)
90 
91 #endif // __IPSDKBASEPROCESSING_BASESTATICPROCESSORDISPATCHER_H__
Base class for processor operations dispatching with static split operation types.
Definition: BaseStaticProcessorDispatcher.h:34
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
std::vector< DataSplitPtr > DataSplitColl
collection of data split operations
Definition: BaseStaticProcessorDispatcher.h:56
boost::shared_ptr< DataSplitType > DataSplitPtr
shared pointer to DataSplit
Definition: BaseStaticProcessorDispatcher.h:53
Base class for priority encapsulation.
Definition: BasePriority.h:32
Base class for data static split objets used for data dispatch.
Definition: BaseStaticSplit.h:34
DataSplitColl _dataSplitColl
collection of data split operations associated to object
Definition: BaseStaticProcessorDispatcher.h:80
Class allowing to store information about elements range (start offset and number of elements) ...
Definition: ElementsRange.h:27
Base class for request origin description.
Definition: BaseRequestOrigin.h:28
boost::shared_ptr< BaseProcessor > ProcessorPtr
shared pointer to processor class
Definition: ProcessorTypes.h:106
Base class for processor operations dispatching.
Definition: BaseProcessorDispatcher.h:37
BaseStaticSplit DataSplitType
data split operations type
Definition: BaseStaticProcessorDispatcher.h:39