IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
FragHybridBuffer.h
1 // FragHybridBuffer.h:
3 // -------------------
4 //
35 
36 #ifndef __IPSDKBASEDATA_FRAGHYBRIDBUFFER_H__
37 #define __IPSDKBASEDATA_FRAGHYBRIDBUFFER_H__
38 
39 // suppression warnings
40 // warning C4251: 'ipsdk::FragHybridBuffer::_pBufferData' : class 'boost::scoped_array<T>' needs to have dll-interface to be used by clients of class 'ipsdk::FragHybridBuffer'
41 #pragma warning (push)
42 #pragma warning (disable : 4275 4251)
43 
44 #include <IPSDKBaseData/Buffer/BaseFragBuffer.h>
46 #include <boost/scoped_array.hpp>
47 
48 namespace ipsdk {
49 
52 
54 {
55  // declare serial class
57 
58 public:
64 
65 // methods
66 public:
68  eBufferType getBufferType() const;
69 
73  void init(const eDataType& dataType,
74  const BufferPtrColl& bufferPtrColl,
75  const ipUInt64 fragmentsSize);
76 
82  void init(const eDataType& dataType,
83  const ipUInt64 nbFragments,
84  const ipUInt64 fragmentsSize);
85 
89  bool isBufferOwn() const;
90 
96  void setDataPtr(const ipUInt64 fragmentIndex,
97  void* pData);
98 
99 protected:
101  void clearDerived();
102 
103 // attributes
104 protected:
106  boost::scoped_array<ipUInt8> _pBufferData;
107 };
108 
111 
112 inline eBufferType
114 {
116 }
117 
120 
121 } // end of namespace ipsdk
122 
123 #pragma warning (pop)
124 
125 #endif // __IPSDKBASEDATA_FRAGHYBRIDBUFFER_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
Fragmented hybrid buffer.
Definition: BufferTypes.h:46
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
boost::scoped_array< ipUInt8 > _pBufferData
own buffer data
Definition: FragHybridBuffer.h:106
Class allowing to encapsulate an hybrid form of fragment buffer.
Definition: FragHybridBuffer.h:53
Base class for fragmented buffers.
Definition: BaseFragBuffer.h:31
eDataType
Enumerate describing a base type.
Definition: BaseTypes.h:77
eBufferType getBufferType() const
retrieve buffer type
Definition: FragHybridBuffer.h:113
Predefined base collection types for library.
eBufferType
Enumerate describing buffer types.
Definition: BufferTypes.h:36
#define IPSDKBASEDATA_API
Import/Export macro for library IPSDKUtil.
Definition: IPSDKBaseDataExports.h:27