00001 /* 00002 ParaGUI - crossplatform widgetset 00003 Copyright (C) 2000-2004 Alexander Pipelka 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public 00016 License along with this library; if not, write to the Free 00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 00019 Alexander Pipelka 00020 pipelka@teleweb.at 00021 00022 Last Update: $Author: mbickel $ 00023 Update Date: $Date: 2007-04-13 16:15:57 $ 00024 Source File: $Source: /home/cvspsrv/cvsroot/games/asc/source/libs/paragui/include/pgsingleton.h,v $ 00025 CVS/RCS Revision: $Revision: 1.2 $ 00026 Status: $State: Exp $ 00027 */ 00028 00033 #ifndef PG_SINGLETON_H 00034 #define PG_SINGLETON_H 00035 00036 template< class T > 00037 class PG_Singleton { 00038 public: 00039 static T& GetInstance() { 00040 static T obj; 00041 return obj; 00042 } 00043 00044 protected: 00045 PG_Singleton() {} 00046 00047 ~PG_Singleton() {} 00048 00049 private: 00050 PG_Singleton(const T&); 00051 00052 T& operator=(const T&); 00053 }; 00054 00055 #endif
1.4.2