#ifndef CT_HANDLEOUTITEM_H #define CT_HANDLEOUTITEM_H #include "ct_model/handle/ct_handlewithmultiplemodelt.h" #include "ct_model/outModel/ct_outstdsingularitemmodel.h" // CT_AbstractHandleOutItem can only be used with method to add an item in a group. It can // not be used with other handle to add an item handle ! using CT_AbstractHandleOutItem = CT_HandleWithMultipleAbstractModel; template class CT_HandleOutItem : public CT_HandleWithMultipleModelT> { using SuperClass = CT_HandleWithMultipleModelT>; public: using ItemType = ItemT; CT_HandleOutItem() : SuperClass() { static_assert(std::is_convertible::value, "CT_HandleOutItem is only compatible with classes that inherit from ISingularItemDrawableForModel"); } template ItemT* createInstance(Args&&... args) { return new ItemT(std::forward(args)...); } }; #endif // CT_HANDLEOUTITEM_H