Browse Source

Added defines.txt file and normal README.md

Ivan Arkhipov 6 years ago
parent
commit
a6bce79cd8
3 changed files with 216 additions and 0 deletions
  1. 1 0
      .gitignore
  2. 15 0
      README.md
  3. 200 0
      defines.txt

+ 1 - 0
.gitignore

@@ -1,4 +1,5 @@
 *.txt
+!defines.txt
 *cmake*
 *ide*
 *bin*

+ 15 - 0
README.md

@@ -0,0 +1,15 @@
+# TheMostRidiculousSingleton
+
+Hello everybody! This is my special MEGA-SINGLETON macros realisation, which performs magic and makes singleton from any class.
+
+### How to use macros:
+* Macros consists of 3 "words"-macroses: THIS, IS and special ascii-art-like word SILGLETON. There's no difference in words order, but ALL of them should exist in the beginning of class declaration. If there's no word, or some part of SINGLETON is erased, linker error (ex. Correct_THIS_Word_077e476b586729db2f5b73f70614e321() function is not defined) will be raised.
+
+* In the right-bottom corner of last SINGLETON letter there's little special macros NNNAME (which is part of N letter). To enable macros, NNNAME should be initialized with class name like NNNAME(ClassName). That's all
+
+* To get instance of class use ClassName\* pointer = ClassName::getInstance() function
+
+### There are some requerements for classes, which could be used as singletons
+* First (and the most): There shouldn't be any constructors or operators =
+* There should be no function getInstance() declared
+

+ 200 - 0
defines.txt

@@ -0,0 +1,200 @@
+#define IIxxxxxxII
+#define ExxxxxxxxxxxxxxxE
+#define IaxxxI
+#define NxxxxxxN
+#define NxxxxN
+#define IIIIIIIIII
+#define SSSPSSS
+#define OOxxxxxxxxxOO
+#define NxxxxxxxxxxxN
+#define NxxxxNxxxxxxxN
+#define GGGGGGGGGGGGG
+#define NxxxxxxxxxN
+#define IxxxxxaxxI
+#define SxaxxxS
+#define SxxaxxS
+#define SxxxaxS
+#define SxxxxaS
+#define SSSSSSSSSPSSSSS
+#define IsxxxI
+#define IIIILIIIII
+#define NNMNNNNN
+#define NNNNNNMN
+#define NaxxxxxN
+#define NxaxxxxN
+#define NxxaxxxN
+#define NxxxaxxN
+#define NxxxxaxN
+#define NxxxxxaN
+#define NxxxxaaN
+#define NxxxaxaN
+#define NxxaxxaN
+#define NxxxxxxexxxxN
+#define NxaxxxaN
+#define NxxxxxexxxxN
+#define NaxxxxaN
+#define NxxxaaaN
+#define NxxxxexxxxN
+#define NxxaxaaN
+#define NxxxexxxxN
+#define NaxxxaaN
+#define NxxexxxxN
+#define NexxxxxN
+#define GGxxxxxxxxxaxxxxxG
+#define GxxxxxGGGGGGGGaxxxG
+#define GaxxxxG
+#define GxaxxxG
+#define GxxaxxG
+#define GxxxaxG
+#define GxxxxaG
+#define GxxxxxaxxG
+#define GxxaxaG
+#define GGGGGxxaxG
+#define GxxxaaG
+#define GxaxxG
+#define GaxxxG
+#define GGGGGGGOGGGGG
+#define LxxxaxxxxxL
+#define LLxaxxxxxLL
+#define LaxxxxL
+#define LxaxxxL
+#define LxxaxxL
+#define LxxxaxL
+#define LxxxxaL
+#define LxxxaaL
+#define LxxaxaL
+#define LxaxxaL
+#define LxxxaxxxxxxxxxxxxxxxxxxL
+#define ExxxxxxxaxxxxxxxxxxxxE
+#define ExxxxxxxxxxxxxaxxxxxxE
+#define ExxaxxE
+#define ExaxxxE
+#define ExxxxxxEFEEEEEEEE
+#define ExxxxxxxaxxxxxxxE
+#define ExxxaxE
+#define EaxxxaE
+#define EEFEEE
+#define ExxxxxxxxxxxxxxxxxaxxE
+#define EEEEEEEEEEEEEEEEEFEEEE
+#define TxxxxxxxaxxxxxxxxxxxxxT
+#define TTTPTT
+#define TaxxxxT
+#define TxaxxxT
+#define TxxaxxT
+#define TxxxaxT
+#define TxxxxaT
+#define TxxxaaT
+#define TxxaxaT
+#define TxaxxaT
+#define TxxaxxxxxxT
+#define OOxxaxxxxxxOO
+#define OOxxxxxaxxxxxxxOO
+#define OxxxxxaxOOOxxxxxxxO
+#define OaxxxxxO
+#define OxaxxxxO
+#define OxxoxxO
+#define OaxxxxO
+#define OxoxxxO
+#define OoxxxxO
+#define OxaxxxO
+#define OxxaxxO
+#define OaxxaxO
+#define OxxxaxO
+#define OaxaxxO
+#define OxxxxaO
+#define OaaxxxO
+#define OxxaxaO
+#define OxxcxxxO
+#define NxxxxxxxxxxN
+#define OOOOGOOOO
+#define NNNNHNNN
+#define NHNNNNNN
+#define NxxwxxxN
+#define NxxxwxxN
+#define NxxxxwxN
+#define NxxxxxwN
+#define NxwxxxxN
+#define NwxxxxxN
+#define NwxwxxxN
+#define NxxwxwxN
+#define EEEEEEEEEEEEEEEEEEEEEE
+#define OxxxxxxxOOOxxxxxxxO
+#define GxxxxxG
+#define NxxxxxxxN
+#define TxxxxxxxxxT
+#define IIxxII
+#define TxxxxxTTxxxxxxxTTxxxxxT
+#define SSxxxxxxxxxxxxxxxS
+#define LLxxxxxxxLLLLLLLLLxxxxxL
+#define IxxxxxxxxI
+#define SxxxxxxxxxxxxxxxSS
+#define LLLLLL
+#define NNNNNNNN
+#define IIxxxaxxII
+#define GGxxxxxxxxxxxxxxxG
+#define IxxxxI
+#define TTTTTT
+#define NNNNNNN
+#define GGGxxxxxxxxxxxxG
+#define IxIxII
+#define LLLLLLLLLLLLLLLLLLLLLLLL
+#define GxxxxxGGGGGGGGxxxxG
+#define EExxxxxxEEEEEEEEExxxxE
+#define SxxxxxxSSSSSSxxxxxS
+#define GGGGGG
+#define IxxaxI
+#define OOxxxxxxxxxxxxxOO
+#define IxaxxI
+#define LxxxxxxxxxxxxxxxxxxxxxxL
+#define SSSSSSxxxxS
+#define SxxxxxS
+#define ExxxxxxxxxxxxxxxxxxxxE
+#define IxIxxxxIxI
+#define NxxxxxxxxN
+#define IxxxxxxaxI
+#define NxxxxxxxNxxxxN
+#define SSSxxxxxxxxSS
+#define EExxxxxxEEEEEEEExxxxxE
+#define OxxxxxxO
+#define SxxxxxSSSSSSxxxxxxS
+#define SSSSSSSSSSSSSSS
+#define SxxxxSSSS
+#define TTxxxxxxxTT
+#define EEEEEE
+#define TxxxxxxxxxxxxxxxxxxxxxT
+#define GGGGGGGGGG
+#define LLLLLLLLLLL
+#define SSxxxxxxSSSSS
+#define SaxxxxS
+#define SSSSSSS
+#define IxxxaI
+#define ExxxxxxEEEEEEEEEE
+#define OOOOOOOOO
+#define TTTTTTTTTTT
+#define GGGxxxxxxGGGxxxG
+#define LxxxxxxxxxL
+#define TTTTTTTTTTTTTTTTTTTTTTT
+#define NbxxxxxxN
+#define NxbxxxxxxN
+#define NxxbxxxxxxN
+#define NxxxbxxxxxxN
+#define NxxxxbxxxxxxN
+#define NxxxbxxxNxxxxN
+#define NxaaxN
+#define NbxxxxxN
+#define NxbxxxxN
+#define NxxbxxxN
+#define NxxxbxxN
+#define NxxxxbxN
+#define NxxxxxbN
+#define NxxxxbbN
+#define NxxxxNxxxwxxxN
+#define NxxxxxwxxxxxN
+#define NxxxxwxxxxxN
+#define NxxxwxxxxxN
+#define NxxwxxxxxN
+#define NxwxxxxxN
+#define NNNFFNNN
+#define NwxxxxwN
+#define THIS
+#define IS