]> Dogcows Code - chaz/yoink/blobdiff - src/singleton.hh
new classes: resource, tilemap, animation
[chaz/yoink] / src / singleton.hh
index 9cbb385b2b0340f66c57afd6ee94c284b76db65d..3b2ebf73239719f419f374e22527c24492f3b9e0 100644 (file)
 template <typename T>
 class singleton
 {
-       static T* ptr;
+       static T* ptr_;
 
 public:
        singleton()
        {
-               if (!ptr)
+               if (!ptr_)
                {
                        // This hack is from Game Programming Gems.
                        long long offset = (long long)(T*)1 - (long long)(singleton<T>*)(T*)1;
-                       ptr = (T*)((long long)this + offset);
+                       ptr_ = (T*)((long long)this + offset);
                }
        }
        ~singleton()
        {
                long long offset = (long long)(T*)1 - (long long)(singleton<T>*)(T*)1;
-               if (ptr == (T*)((long long)this + offset))
+               if (ptr_ == (T*)((long long)this + offset))
                {
-                       ptr = 0;
+                       ptr_ = 0;
                }
        }
 
        static T& instance()
        {
-               if (!ptr)
+               if (!ptr_)
                {
                        throw std::runtime_error("accessing uninstantiated singleton");
                }
-               return *ptr;
+               return *ptr_;
        }
 
-       static T* instancePtr()
+       static T* instance__ptr()
        {
-               return ptr;
+               return ptr_;
        }
 };
 
-template <typename T> T* singleton<T>::ptr = 0;
+template <typename T> T* singleton<T>::ptr_ = 0;
 
 
 #endif // _SINGLETON_HH_
This page took 0.021034 seconds and 4 git commands to generate.