IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseBlockBuffer.h
1 // BaseBlockBuffer.h:
3 // ------------------
4 //
14 
15 #ifndef __IPSDKBASEDATA_BASEBLOCKBUFFER_H__
16 #define __IPSDKBASEDATA_BASEBLOCKBUFFER_H__
17 
18 #include <IPSDKBaseData/Buffer/BaseBuffer.h>
19 
20 namespace ipsdk {
21 
24 
26 {
27  // declare dynamic class
29 
30 public:
34  virtual ~BaseBlockBuffer() = 0;
36 
37 // methods
38 public:
43  const void* getDataPtr() const;
44  void* getDataPtr();
46 
52  const void* getDataPtr(const ipUInt64 offset) const;
53  void* getDataPtr(const ipUInt64 offset);
55 
56 protected:
60  void initBase(const ipUInt64 size,
61  const eDataType& dataType,
62  void* pData);
63 
64 // attributes
65 private:
67  void* _pData;
68 };
69 
72 
73 } // end of namespace ipsdk
74 
75 #endif // __IPSDKBASEDATA_BASEBLOCKBUFFER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
#define IPSDK_DECLARE_ABSTRACT_DYNAMIC_WITHOUT_COPY(libraryName, className)
macro enabling dynamic properties on abstract class and disabling copy support
Definition: DynamicHdrMacro.h:102
Base class for mono block buffers.
Definition: BaseBlockBuffer.h:25
eDataType
Enumerate describing a base type.
Definition: BaseTypes.h:77
Base class for buffer encapsulation.
Definition: BaseBuffer.h:34
#define IPSDKBASEDATA_API
Import/Export macro for library IPSDKUtil.
Definition: IPSDKBaseDataExports.h:27