#ifndef _TRASH_H_ #define _TRASH_H_ #include #include "Pos.h" #include "WEvent.h" #include "DamagerDamaged.h" class CardView; struct AttackerDamaged; struct DamagerDamaged; typedef DamagerDamaged DefenserDamaged; template void trash(T*); template class TrashBin { std::vector bin; void put_out(); int receiveEvent(WEvent* e); template friend void trash(Q*); friend class Trash; }; class Trash { private: TrashBin CardViewTrash; TrashBin DefenserDamagedTrash; TrashBin AttackerDamagedTrash; public: Trash(){}; void cleanup(); void trash(CardView* garbage); void trash(DefenserDamaged* garbage); void trash(AttackerDamaged* garbage); }; #endif // _TRASH_H_