Browse Source

Changed MEGA-MACROS structure. Added Macros_checker_generator.py

Now if some part of macros is incorrect or deleted, then there will be
linker error "function Correct_<LetterName>_Letter_<some_trash> not
defined"

	     \_x(^_^)x_/
		 |||
	        / | \
		|/ \|
Ivan Arkhipov 6 years ago
parent
commit
0b929ca464
3 changed files with 237 additions and 107 deletions
  1. 18 0
      Macros_checker_generator.py
  2. 19 16
      main.cpp
  3. 200 91
      singleton.h

+ 18 - 0
Macros_checker_generator.py

@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# This script generates special functions-checkers of MEGA SINGLETON macros correctness 
+# Author: Ivan Arkhipov
+# Date: 26.02.2018
+
+import hashlib
+file = open("defines.txt", "r")
+a = [line[:-1] + " void Correct_" + line[8] + "_Letter_" + hashlib.md5(line.encode('utf8')).hexdigest() + "() {}" for line in file]
+b = [i.split()[3] + "; " for i in a]
+file.close()
+
+file = open("defines_gen.txt", "w")
+for i in a:
+    print(i, file = file)
+print('', file = file)
+for i in b:
+    print(i, file = file, end='')
+file.close()

+ 19 - 16
main.cpp

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

File diff suppressed because it is too large
+ 200 - 91
singleton.h


Some files were not shown because too many files changed in this diff