#ifndef LEGOROIMAPLIST_H #define LEGOROIMAPLIST_H #include "mxlist.h" #include "mxtypes.h" class LegoROI; // VTABLE: LEGO1 0x100d9218 // class MxCollection // VTABLE: LEGO1 0x100d9230 // class MxList // VTABLE: LEGO1 0x100d9248 // class MxPtrList // Specialize MxPtrList for LegoROI* in order to fix Destroy. // TODO: Change to using constexpr in MxPtrList::Destroy once C++17 standard works. template <> class MxPtrList : public MxList { public: MxPtrList(MxBool p_ownership) { SetOwnership(p_ownership); } static void Destroy(LegoROI** p_obj) { delete[] p_obj; } void SetOwnership(MxBool p_ownership) { MxCollection::SetDestroy( p_ownership ? MxPtrList::Destroy : MxCollection::Destroy ); } }; // VTABLE: LEGO1 0x100d9260 // SIZE 0x18 class LegoROIMapList : public MxPtrList { public: LegoROIMapList() : MxPtrList(TRUE) {} // SYNTHETIC: LEGO1 0x1006d360 // LegoROIMapList::`scalar deleting destructor' }; // TEMPLATE: LEGO1 0x1006d250 // MxCollection::Compare // TEMPLATE: LEGO1 0x1006d260 // MxCollection::~MxCollection // TEMPLATE: LEGO1 0x1006d2b0 // MxCollection::Destroy // TEMPLATE: LEGO1 0x1006d2c0 // MxList::~MxList // TEMPLATE: LEGO1 0x1006d3d0 // MxPtrList::~MxPtrList // TEMPLATE: LEGO1 0x1006d350 // MxPtrList::Destroy // SYNTHETIC: LEGO1 0x1006d420 // MxCollection::`scalar deleting destructor' // SYNTHETIC: LEGO1 0x1006d490 // MxList::`scalar deleting destructor' // SYNTHETIC: LEGO1 0x1006d540 // MxPtrList::`scalar deleting destructor' #endif // LEGOROIMAPLIST_H