TexGen
Singleton.h
Go to the documentation of this file.
1/*=============================================================================
2TexGen: Geometric textile modeller.
3Copyright (C) 2006 Martin Sherburn
4
5This program is free software; you can redistribute it and/or
6modify it under the terms of the GNU General Public License
7as published by the Free Software Foundation; either version 2
8of the License, or (at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program; if not, write to the Free Software
17Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18=============================================================================*/
19
20#pragma once
21namespace TexGen
22{
24
30 template<typename T>
32 {
33 public:
35 {
36 // There should only be one instance created, only use static GetInstance() function
37 // instead of instantiating manually
38 assert(this == &CSingleton::GetInstance());
39 }
40 static T &GetInstance()
41 {
42 return m_SingleInstance;
43 }
44 protected:
46 };
47
48}; // namespace TexGen
#define CLASS_DECLSPEC
Definition: Misc.h:35
Template used as a base class for creating singletons.
Definition: Singleton.h:32
static T & GetInstance()
Definition: Singleton.h:40
static T m_SingleInstance
Definition: Singleton.h:45
Namespace containing a series of customised math operations not found in the standard c++ library.