IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseOwnBuffer.h
1 // BaseOwnBuffer.h:
3 // ----------------
4 //
14 
15 #ifndef __IPSDKBASEDATA_BASEOWNBUFFER_H__
16 #define __IPSDKBASEDATA_BASEOWNBUFFER_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::BaseOwnBuffer::_pBufferData' : class 'boost::scoped_array<T>' needs to have dll-interface to be used by clients of class 'ipsdk::BaseOwnBuffer'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKBaseData/Buffer/BaseBlockBuffer.h>
24 #include <boost/scoped_array.hpp>
25 
26 namespace ipsdk {
27 
30 
32 {
33  // declare serial class
35 
36 public:
39  BaseOwnBuffer();
40  virtual ~BaseOwnBuffer() = 0;
42 
43 // methods
44 public:
50  void resize(const ipUInt64 size);
51 
52 protected:
58  void initBase(const ipUInt64 size,
59  const eDataType& dataType);
60 
62  void clearDerived();
63 
64 // attributes
65 private:
67  boost::scoped_array<ipUInt8> _pBufferData;
68 };
69 
72 
73 } // end of namespace ipsdk
74 
75 #pragma warning (pop)
76 
77 #endif // __IPSDKBASEDATA_BASEOWNBUFFER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
Base class for mono block buffers.
Definition: BaseBlockBuffer.h:25
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:91
eDataType
Enumerate describing a base type.
Definition: BaseTypes.h:77
Base class for buffers with own allocated data.
Definition: BaseOwnBuffer.h:31
#define IPSDKBASEDATA_API
Import/Export macro for library IPSDKUtil.
Definition: IPSDKBaseDataExports.h:27