00001 /* -*- C++ -*- */ 00002 00003 /* COPYRIGHT 00004 * 00005 * This file is part of the Simple Object Loader and Renderer - SOLAR 00006 * 00007 * Read the file "SOLAR-LICENSE" for the license. 00008 * 00009 * Authors & Copyright: 00010 * 00011 * Tommi Ilmonen, 2001-2003, except LWO-code by RJ, 2001-2003 00012 * 00013 * Tommi's email: firstname.lastname@hut.fi 00014 * 00015 */ 00016 00017 #ifndef SOLAR_DELETED_HPP 00018 #define SOLAR_DELETED_HPP 00019 00020 #include <set> 00021 00022 namespace Solar { 00023 00024 class GarbageBin 00025 { 00026 public: 00027 GarbageBin() {} 00028 00029 void add(void *item) { m_items.insert(item); } 00030 void clear() { m_items.clear(); } 00031 00032 typedef std::set<void *>::iterator iterator; 00033 std::set<void *> m_items; 00034 00035 }; 00036 00037 class Garbage 00038 { 00039 public: 00040 Garbage(GarbageBin *bin = 0) : m_bin(bin) {} 00041 virtual ~Garbage(); 00042 00043 virtual void setGarbageBin(GarbageBin *bin); 00044 00045 private: 00046 GarbageBin * m_bin; 00047 }; 00048 00049 } // namespace Solar 00050 00051 #endif