Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projects:singleton_template [2015/12/07] – [About] terence | projects:singleton_template [2016/07/05] (current) – July 5, 2016 terence | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Singleton Template (C++) ====== | ====== Singleton Template (C++) ====== | ||
| + | |||
| + | //An inheritance-based way to make singleton classes in C++// | ||
| + | |||
| ===== License ===== | ===== License ===== | ||
| Line 5: | Line 8: | ||
| * **Author:** [[mailto: | * **Author:** [[mailto: | ||
| * **License: | * **License: | ||
| - | * **Last Update:** 2015-11-15 | + | * **Last Update:** 2015-12-21 |
| * **Donate:** [[: | * **Donate:** [[: | ||
| Line 14: | Line 17: | ||
| After downloading, | After downloading, | ||
| - | FIXME | + | * Latest version: [[https:// |
| ===== About ===== | ===== About ===== | ||
| Line 24: | Line 27: | ||
| * Consistent method interface among all singletons (all singletons will have a **'':: | * Consistent method interface among all singletons (all singletons will have a **'':: | ||
| * Never having to copy / paste code for singleton creation (which is good if, for instance, best practices change) | * Never having to copy / paste code for singleton creation (which is good if, for instance, best practices change) | ||
| - | | + | |
| - | Singleton | + | The singleton |
| ===== How to Use ===== | ===== How to Use ===== | ||
| Line 34: | Line 37: | ||
| <code c++> | <code c++> | ||
| - | #include "singleton.h" | + | #include "tSingleton.h" |
| </ | </ | ||
| * Create your own singleton class, ensuring that: | * Create your own singleton class, ensuring that: | ||
| - | - You inherit from **'' | + | - You inherit from **'' |
| - Your **constructor**' | - Your **constructor**' | ||
| - Your **destructor** is **'' | - Your **destructor** is **'' | ||
| Line 46: | Line 49: | ||
| <code c++> | <code c++> | ||
| class MyClass | class MyClass | ||
| - | : public | + | : public |
| { | { | ||
| protected: | protected: | ||
| Line 59: | Line 62: | ||
| //Methods go here | //Methods go here | ||
| - | friend class tjgrant:: | + | friend class tSingleton< |
| }; | }; | ||
| </ | </ | ||
| Line 106: | Line 109: | ||
| class MyClass | class MyClass | ||
| : public MyBase, | : public MyBase, | ||
| - | public | + | public |
| </ | </ | ||
| Line 120: | Line 123: | ||
| ===== History ===== | ===== History ===== | ||
| - | **November 15, 2015** | + | **July 5, 2016** |
| + | * Removed the namespace, renamed class from " | ||
| + | |||
| + | **December 21, 2015** | ||
| + | |||
| + | * Added GitHub link to download section | ||
| * First public release | * First public release | ||
| + | **November 15, 2015** | ||
| + | |||
| + | * Created project page | ||