MinitScript  0.9.31 PRE-BETA
Documentation.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <set>
5 #include <unordered_set>
6 
10 
11 using std::string;
12 using std::set;
13 using std::unordered_set;
14 
16 
17 /**
18  * MinitScript documentation
19  * @author Andreas Drewke
20  */
22 public:
23  /**
24  * Get all class method names
25  * @param minitScript MinitScript script instance
26  * @return all class method names
27  */
28  static const set<string> getAllClassMethods(MinitScript* minitScript);
29 
30  /**
31  * Generate methods categories
32  * @param minitScript MinitScript script instance
33  * @param allClassMethods all class methods
34  * @param excludeMinitScript exclude MinitScript script instance
35  * @return methods categories
36  */
37  static const set<string> getMethodsCategories(
38  MinitScript* minitScript,
39  const set<string>& allClassMethods,
40  MinitScript* excludeMinitScript = nullptr);
41 
42  /**
43  * Generate classes documentation
44  * @param heading heading
45  * @param mainHeadingIdx main heading index
46  * @param minitScript MinitScript script instance
47  * @param descriptions descriptions
48  * @param descriptionPrefix description prefix
49  * @param allClassMethods all class methods
50  * @return documentation
51  */
52  static const string generateClassesDocumentation(
53  const string& heading,
54  int mainHeadingIdx,
55  MinitScript* minitScript,
56  Properties& descriptions,
57  const string& descriptionPrefix,
58  const set<string>& allClassMethods
59  );
60 
61  /**
62  * Generate methods documentation
63  * @param heading heading
64  * @param mainHeadingIdx main heading index
65  * @param minitScript MinitScript script instance
66  * @param descriptions descriptions
67  * @param descriptionPrefix desscription prefix
68  * @param allClassMethods all class methods
69  * @param excludeMinitScript exclude MinitScript script instance
70  * @return documentation
71  */
72  static const string generateMethodsDocumentation(
73  const string& heading,
74  int mainHeadingIdx,
75  MinitScript* minitScript,
76  Properties& descriptions,
77  const string& descriptionPrefix,
78  const set<string>& allClassMethods,
79  MinitScript* excludeMinitScript = nullptr
80  );
81 
82  /**
83  * Generate operators documentation
84  * @param heading heading
85  * @param mainHeadingIdx main heading index
86  * @param minitScript MinitScript script instance
87  * @return documentation
88  */
89  static const string generateOperatorsDocumentation(
90  const string& heading,
91  int mainHeadingIdx,
92  MinitScript* minitScript
93  );
94 
95  /**
96  * Generate variables documentation
97  * @param heading heading
98  * @param mainHeadingIdx main heading index
99  * @param minitScript MinitScript script instance
100  * @return documentation
101  */
102  static const string generateVariablesDocumentation(
103  const string& heading,
104  int mainHeadingIdx,
105  MinitScript* minitScript
106  );
107 
108 };
MinitScript documentation.
Definition: Documentation.h:21
static const set< string > getMethodsCategories(MinitScript *minitScript, const set< string > &allClassMethods, MinitScript *excludeMinitScript=nullptr)
Generate methods categories.
static const set< string > getAllClassMethods(MinitScript *minitScript)
Get all class method names.
static const string generateOperatorsDocumentation(const string &heading, int mainHeadingIdx, MinitScript *minitScript)
Generate operators documentation.
static const string generateClassesDocumentation(const string &heading, int mainHeadingIdx, MinitScript *minitScript, Properties &descriptions, const string &descriptionPrefix, const set< string > &allClassMethods)
Generate classes documentation.
static const string generateVariablesDocumentation(const string &heading, int mainHeadingIdx, MinitScript *minitScript)
Generate variables documentation.
static const string generateMethodsDocumentation(const string &heading, int mainHeadingIdx, MinitScript *minitScript, Properties &descriptions, const string &descriptionPrefix, const set< string > &allClassMethods, MinitScript *excludeMinitScript=nullptr)
Generate methods documentation.
Properties class, which helps out with storeing or loading key value pairs from/to property files.
Definition: Properties.h:17