IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
PtrCollHdrMacros.h
Go to the documentation of this file.
1 // PtrCollHdrMacros.h:
3 // -------------------
4 //
15 
16 #ifndef __IPSDKBASEDATA_PTRCOLLHDRMACROS_H__
17 #define __IPSDKBASEDATA_PTRCOLLHDRMACROS_H__
18 
19 #include <IPSDKBaseData/PtrColl/BasePtrColl.h>
20 
23 
27 #define IPSDK_DECLARE_PTR_COLL(libraryName, className, dataType) \
28 class IPSDK_LIB_API(libraryName) className : public ipsdk::BasePtrColl \
29 { \
30  IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className) \
31 public: \
32  typedef dataType ValueType; \
33  typedef boost::shared_ptr<dataType > StorageType; \
34  typedef boost::shared_ptr<const dataType > ConstStorageType; \
35  typedef std::vector<StorageType> CollType; \
36  typedef std::vector<ConstStorageType> ConstCollType; \
37  className() {} \
38  ~className() {} \
39  const std::string& getElementsClassName() const; \
40  bool haveSkeleton() const; \
41  const ConstCollType& getColl() const; \
42  CollType& getColl();
43 
46 
47 #endif // __IPSDKBASEDATA_PTRCOLLHDRMACROS_H__