/* * refcounted.h * * Copyright (c) 2003 Frerich Raabe * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. For licensing and distribution details, check the * accompanying file 'COPYING'. */ #ifndef BARRY_REFCOUNTED_H #define BARRY_REFCOUNTED_H namespace Barry { class RefCounted { public: RefCounted() : m_count( 1 ) { } void ref() { ++m_count; } bool deref() { return !--m_count; } unsigned int count() const { return m_count; } private: unsigned int m_count; }; } #endif // BARRY_REFCOUNTED_H // vim:ts=4:sw=4:noet:list