Added API documentation, created by Doxygen.
[MUtilities.git] / docs / d5 / d3b / _global_8h.html
blob3088d183d746a60e22c2d12b005562a0f8f6930c
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.12"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>MuldeR&#39;s Utilities for Qt: include/MUtils/Global.h File Reference</title>
9 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="../../jquery.js"></script>
11 <script type="text/javascript" src="../../dynsections.js"></script>
12 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="../../search/searchdata.js"></script>
14 <script type="text/javascript" src="../../search/search.js"></script>
15 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23 <td id="projectalign" style="padding-left: 0.5em;">
24 <div id="projectname">MuldeR&#39;s Utilities for Qt
25 </div>
26 <div id="projectbrief">MUtilities</div>
27 </td>
28 </tr>
29 </tbody>
30 </table>
31 </div>
32 <!-- end header part -->
33 <!-- Generated by Doxygen 1.8.12 -->
34 <script type="text/javascript">
35 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
36 </script>
37 <script type="text/javascript" src="../../menudata.js"></script>
38 <script type="text/javascript" src="../../menu.js"></script>
39 <script type="text/javascript">
40 $(function() {
41 initMenu('../../',true,false,'search.php','Search');
42 $(document).ready(function() { init_search(); });
43 });
44 </script>
45 <div id="main-nav"></div>
46 <!-- window showing the filter options -->
47 <div id="MSearchSelectWindow"
48 onmouseover="return searchBox.OnSearchSelectShow()"
49 onmouseout="return searchBox.OnSearchSelectHide()"
50 onkeydown="return searchBox.OnSearchSelectKey(event)">
51 </div>
53 <!-- iframe showing the search results (closed by default) -->
54 <div id="MSearchResultsWindow">
55 <iframe src="javascript:void(0)" frameborder="0"
56 name="MSearchResults" id="MSearchResults">
57 </iframe>
58 </div>
60 <div id="nav-path" class="navpath">
61 <ul>
62 <li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="../../dir_b076b53667bc06ebb413a190e197fc7b.html">MUtils</a></li> </ul>
63 </div>
64 </div><!-- top -->
65 <div class="header">
66 <div class="summary">
67 <a href="#define-members">Macros</a> &#124;
68 <a href="#func-members">Functions</a> </div>
69 <div class="headertitle">
70 <div class="title">Global.h File Reference</div> </div>
71 </div><!--header-->
72 <div class="contents">
74 <p>This file contains miscellaneous functions that are generally useful for Qt-based applications.
75 <a href="#details">More...</a></p>
76 <div class="textblock"><code>#include &lt;QString&gt;</code><br />
77 </div>
78 <p><a href="../../d5/d3b/_global_8h_source.html">Go to the source code of this file.</a></p>
79 <table class="memberdecls">
80 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
81 Macros</h2></td></tr>
82 <tr class="memitem:a761530893b34e2d324f22ddf7bc31455"><td class="memItemLeft" align="right" valign="top"><a id="a761530893b34e2d324f22ddf7bc31455"></a>
83 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_API</b></td></tr>
84 <tr class="separator:a761530893b34e2d324f22ddf7bc31455"><td class="memSeparator" colspan="2">&#160;</td></tr>
85 <tr class="memitem:ad5b14e1c1267ed90263a45bf6d4289ca"><td class="memItemLeft" align="right" valign="top"><a id="ad5b14e1c1267ed90263a45bf6d4289ca"></a>
86 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_MAKE_STRING_HELPER</b>(X)&#160;&#160;&#160;#X</td></tr>
87 <tr class="separator:ad5b14e1c1267ed90263a45bf6d4289ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
88 <tr class="memitem:af2c5f52bf983b10e2078b03ce36efb22"><td class="memItemLeft" align="right" valign="top"><a id="af2c5f52bf983b10e2078b03ce36efb22"></a>
89 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_MAKE_STRING</b>(X)&#160;&#160;&#160;MUTILS_MAKE_STRING_HELPER(X)</td></tr>
90 <tr class="separator:af2c5f52bf983b10e2078b03ce36efb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
91 <tr class="memitem:a2b88ab398bf3616fb6826c806f435ddc"><td class="memItemLeft" align="right" valign="top"><a id="a2b88ab398bf3616fb6826c806f435ddc"></a>
92 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_COMPILER_WARNING</b>(TXT)&#160;&#160;&#160;__pragma(message(__FILE__ &quot;(&quot; MUTILS_MAKE_STRING(__LINE__) &quot;) : warning: &quot; TXT))</td></tr>
93 <tr class="separator:a2b88ab398bf3616fb6826c806f435ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
94 <tr class="memitem:a249516197568fbf9bbf980554b4d6d95"><td class="memItemLeft" align="right" valign="top"><a id="a249516197568fbf9bbf980554b4d6d95"></a>
95 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_DEBUG</b>&#160;&#160;&#160;(1)</td></tr>
96 <tr class="separator:a249516197568fbf9bbf980554b4d6d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
97 <tr class="memitem:ad42b1946a83df3bd76734d5ab691fd0d"><td class="memItemLeft" align="right" valign="top"><a id="ad42b1946a83df3bd76734d5ab691fd0d"></a>
98 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_DELETE</b>(PTR)&#160;&#160;&#160;do { if((PTR)) { delete (PTR); (PTR) = NULL; } } while(0)</td></tr>
99 <tr class="separator:ad42b1946a83df3bd76734d5ab691fd0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 <tr class="memitem:aa544a37b80f1ab9d86f439a7666e9aa8"><td class="memItemLeft" align="right" valign="top"><a id="aa544a37b80f1ab9d86f439a7666e9aa8"></a>
101 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_DELETE_ARRAY</b>(PTR)&#160;&#160;&#160;do { if((PTR)) { delete [] (PTR); (PTR) = NULL; } } while(0)</td></tr>
102 <tr class="separator:aa544a37b80f1ab9d86f439a7666e9aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
103 <tr class="memitem:a1fe39de37351efa3ca46bdc8653e1f25"><td class="memItemLeft" align="right" valign="top"><a id="a1fe39de37351efa3ca46bdc8653e1f25"></a>
104 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_ZERO_MEMORY</b>(PTR)&#160;&#160;&#160;memset(&amp;(PTR), 0, sizeof((PTR)))</td></tr>
105 <tr class="separator:a1fe39de37351efa3ca46bdc8653e1f25"><td class="memSeparator" colspan="2">&#160;</td></tr>
106 <tr class="memitem:af55d43b39d3f41cf090c138ed190ee6e"><td class="memItemLeft" align="right" valign="top"><a id="af55d43b39d3f41cf090c138ed190ee6e"></a>
107 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_WCHR</b>(STR)&#160;&#160;&#160;(reinterpret_cast&lt;const wchar_t*&gt;((STR).utf16()))</td></tr>
108 <tr class="separator:af55d43b39d3f41cf090c138ed190ee6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
109 <tr class="memitem:a88b0902153ea537b12d86267af20eb3f"><td class="memItemLeft" align="right" valign="top"><a id="a88b0902153ea537b12d86267af20eb3f"></a>
110 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_UTF8</b>(STR)&#160;&#160;&#160;((STR).toUtf8().constData())</td></tr>
111 <tr class="separator:a88b0902153ea537b12d86267af20eb3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
112 <tr class="memitem:a04d63f6f60c90f8e3c4029824a7352b0"><td class="memItemLeft" align="right" valign="top"><a id="a04d63f6f60c90f8e3c4029824a7352b0"></a>
113 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_QSTR</b>(STR)&#160;&#160;&#160;(QString::fromUtf16(reinterpret_cast&lt;const unsigned short*&gt;((STR))))</td></tr>
114 <tr class="separator:a04d63f6f60c90f8e3c4029824a7352b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
115 <tr class="memitem:a177ecbfe7701c2ac04bb8bdeb208773a"><td class="memItemLeft" align="right" valign="top"><a id="a177ecbfe7701c2ac04bb8bdeb208773a"></a>
116 #define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_BOOL2STR</b>(X)&#160;&#160;&#160;((X) ? &quot;1&quot; : &quot;0&quot;)</td></tr>
117 <tr class="separator:a177ecbfe7701c2ac04bb8bdeb208773a"><td class="memSeparator" colspan="2">&#160;</td></tr>
118 </table><table class="memberdecls">
119 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
120 Functions</h2></td></tr>
121 <tr class="memitem:a9ddb9a2039585b1ef3429db16ea84292"><td class="memItemLeft" align="right" valign="top">const QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a9ddb9a2039585b1ef3429db16ea84292">MUtils::temp_folder</a> (void)</td></tr>
122 <tr class="memdesc:a9ddb9a2039585b1ef3429db16ea84292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rerieves the full path of the application's <em>Temp</em> folder. <a href="../../d5/d3b/_global_8h.html#a9ddb9a2039585b1ef3429db16ea84292">More...</a><br /></td></tr>
123 <tr class="separator:a9ddb9a2039585b1ef3429db16ea84292"><td class="memSeparator" colspan="2">&#160;</td></tr>
124 <tr class="memitem:a5a94d9552ee93a19722fdb411e580340"><td class="memItemLeft" align="right" valign="top"><a id="a5a94d9552ee93a19722fdb411e580340"></a>
125 void&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::init_process</b> (QProcess &amp;process, const QString &amp;wokringDir, const bool bReplaceTempDir=true, const QStringList *const extraPaths=NULL)</td></tr>
126 <tr class="separator:a5a94d9552ee93a19722fdb411e580340"><td class="memSeparator" colspan="2">&#160;</td></tr>
127 <tr class="memitem:a4dc7dccb81653ae28e0d37a7c2f62112"><td class="memItemLeft" align="right" valign="top">quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a4dc7dccb81653ae28e0d37a7c2f62112">MUtils::next_rand_u32</a> (void)</td></tr>
128 <tr class="memdesc:a4dc7dccb81653ae28e0d37a7c2f62112"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> unsigned 32-Bit value. <a href="../../d5/d3b/_global_8h.html#a4dc7dccb81653ae28e0d37a7c2f62112">More...</a><br /></td></tr>
129 <tr class="separator:a4dc7dccb81653ae28e0d37a7c2f62112"><td class="memSeparator" colspan="2">&#160;</td></tr>
130 <tr class="memitem:a15762bf5b0239e5f67a3815d63ed441a"><td class="memItemLeft" align="right" valign="top">quint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a15762bf5b0239e5f67a3815d63ed441a">MUtils::next_rand_u64</a> (void)</td></tr>
131 <tr class="memdesc:a15762bf5b0239e5f67a3815d63ed441a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> unsigned 64-Bit value. <a href="../../d5/d3b/_global_8h.html#a15762bf5b0239e5f67a3815d63ed441a">More...</a><br /></td></tr>
132 <tr class="separator:a15762bf5b0239e5f67a3815d63ed441a"><td class="memSeparator" colspan="2">&#160;</td></tr>
133 <tr class="memitem:a996b60884ddf7728178e94f34ca12570"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a996b60884ddf7728178e94f34ca12570">MUtils::next_rand_str</a> (const bool &amp;bLong=false)</td></tr>
134 <tr class="memdesc:a996b60884ddf7728178e94f34ca12570"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> string. <a href="../../d5/d3b/_global_8h.html#a996b60884ddf7728178e94f34ca12570">More...</a><br /></td></tr>
135 <tr class="separator:a996b60884ddf7728178e94f34ca12570"><td class="memSeparator" colspan="2">&#160;</td></tr>
136 <tr class="memitem:a67cb16c62b213da5135a6fa076f3f005"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a67cb16c62b213da5135a6fa076f3f005">MUtils::make_temp_file</a> (const QString &amp;basePath, const QString &amp;extension, const bool placeholder=false)</td></tr>
137 <tr class="memdesc:a67cb16c62b213da5135a6fa076f3f005"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a temporary file name. <a href="../../d5/d3b/_global_8h.html#a67cb16c62b213da5135a6fa076f3f005">More...</a><br /></td></tr>
138 <tr class="separator:a67cb16c62b213da5135a6fa076f3f005"><td class="memSeparator" colspan="2">&#160;</td></tr>
139 <tr class="memitem:a390e56e35eb9329d2e67fa9741d07536"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a390e56e35eb9329d2e67fa9741d07536">MUtils::make_unique_file</a> (const QString &amp;basePath, const QString &amp;baseName, const QString &amp;extension, const bool fancy=false)</td></tr>
140 <tr class="memdesc:a390e56e35eb9329d2e67fa9741d07536"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a unique file name. <a href="../../d5/d3b/_global_8h.html#a390e56e35eb9329d2e67fa9741d07536">More...</a><br /></td></tr>
141 <tr class="separator:a390e56e35eb9329d2e67fa9741d07536"><td class="memSeparator" colspan="2">&#160;</td></tr>
142 <tr class="memitem:ad1bdb5e416839b1f85f6df68e58ae28c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#ad1bdb5e416839b1f85f6df68e58ae28c">MUtils::parity</a> (quint32 value)</td></tr>
143 <tr class="memdesc:ad1bdb5e416839b1f85f6df68e58ae28c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the <em>parity</em> of the given unsigned 32-Bit value. <a href="../../d5/d3b/_global_8h.html#ad1bdb5e416839b1f85f6df68e58ae28c">More...</a><br /></td></tr>
144 <tr class="separator:ad1bdb5e416839b1f85f6df68e58ae28c"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <tr class="memitem:a12259acdd6aff74ee83819d3aebd8ba9"><td class="memItemLeft" align="right" valign="top"><a id="a12259acdd6aff74ee83819d3aebd8ba9"></a>
146 bool&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::remove_file</b> (const QString &amp;fileName)</td></tr>
147 <tr class="separator:a12259acdd6aff74ee83819d3aebd8ba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
148 <tr class="memitem:ac7d2c9bd5c49230b2fed72e3410c3f7d"><td class="memItemLeft" align="right" valign="top"><a id="ac7d2c9bd5c49230b2fed72e3410c3f7d"></a>
149 bool&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::remove_directory</b> (const QString &amp;folderPath, const bool &amp;recursive)</td></tr>
150 <tr class="separator:ac7d2c9bd5c49230b2fed72e3410c3f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
151 <tr class="memitem:a9290a3fe637a05ad2a7515f36fad79bd"><td class="memItemLeft" align="right" valign="top"><a id="a9290a3fe637a05ad2a7515f36fad79bd"></a>
152 QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::trim_right</b> (QString &amp;str)</td></tr>
153 <tr class="separator:a9290a3fe637a05ad2a7515f36fad79bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
154 <tr class="memitem:af089c8a40b6ec2e19db3fe612aa81c8c"><td class="memItemLeft" align="right" valign="top"><a id="af089c8a40b6ec2e19db3fe612aa81c8c"></a>
155 QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::trim_left</b> (QString &amp;str)</td></tr>
156 <tr class="separator:af089c8a40b6ec2e19db3fe612aa81c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
157 <tr class="memitem:a3eb47d6ca49b2700622e3fe99faf14d8"><td class="memItemLeft" align="right" valign="top"><a id="a3eb47d6ca49b2700622e3fe99faf14d8"></a>
158 QString&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::trim_right</b> (const QString &amp;str)</td></tr>
159 <tr class="separator:a3eb47d6ca49b2700622e3fe99faf14d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
160 <tr class="memitem:a8680aeaeb1118353bd099e26ba7d6123"><td class="memItemLeft" align="right" valign="top"><a id="a8680aeaeb1118353bd099e26ba7d6123"></a>
161 QString&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::trim_left</b> (const QString &amp;str)</td></tr>
162 <tr class="separator:a8680aeaeb1118353bd099e26ba7d6123"><td class="memSeparator" colspan="2">&#160;</td></tr>
163 <tr class="memitem:a09e919d419ded903481cf7aba702dcba"><td class="memItemLeft" align="right" valign="top"><a id="a09e919d419ded903481cf7aba702dcba"></a>
164 void&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::natural_string_sort</b> (QStringList &amp;list, const bool bIgnoreCase)</td></tr>
165 <tr class="separator:a09e919d419ded903481cf7aba702dcba"><td class="memSeparator" colspan="2">&#160;</td></tr>
166 <tr class="memitem:a895e14458df7226110ae70029c1729a9"><td class="memItemLeft" align="right" valign="top"><a id="a895e14458df7226110ae70029c1729a9"></a>
167 QString&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::clean_file_name</b> (const QString &amp;name)</td></tr>
168 <tr class="separator:a895e14458df7226110ae70029c1729a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
169 <tr class="memitem:ac0949226be088ce65a60d5aa4194e1c0"><td class="memItemLeft" align="right" valign="top"><a id="ac0949226be088ce65a60d5aa4194e1c0"></a>
170 QString&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::clean_file_path</b> (const QString &amp;path)</td></tr>
171 <tr class="separator:ac0949226be088ce65a60d5aa4194e1c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
172 <tr class="memitem:a45cb0d1e6a55cf5ffda3b626c25fd957"><td class="memItemLeft" align="right" valign="top"><a id="a45cb0d1e6a55cf5ffda3b626c25fd957"></a>
173 bool&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::regexp_parse_uint32</b> (const QRegExp &amp;regexp, quint32 &amp;value)</td></tr>
174 <tr class="separator:a45cb0d1e6a55cf5ffda3b626c25fd957"><td class="memSeparator" colspan="2">&#160;</td></tr>
175 <tr class="memitem:a367969a260da994876d19c9f7ee40606"><td class="memItemLeft" align="right" valign="top"><a id="a367969a260da994876d19c9f7ee40606"></a>
176 bool&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::regexp_parse_uint32</b> (const QRegExp &amp;regexp, quint32 *values, const size_t &amp;count)</td></tr>
177 <tr class="separator:a367969a260da994876d19c9f7ee40606"><td class="memSeparator" colspan="2">&#160;</td></tr>
178 <tr class="memitem:a4fcbdafffc1224776616fcc6aec8278b"><td class="memItemLeft" align="right" valign="top"><a id="a4fcbdafffc1224776616fcc6aec8278b"></a>
179 QStringList&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::available_codepages</b> (const bool &amp;noAliases=true)</td></tr>
180 <tr class="separator:a4fcbdafffc1224776616fcc6aec8278b"><td class="memSeparator" colspan="2">&#160;</td></tr>
181 <tr class="memitem:a00af0daa1ae56f474746443002be6786"><td class="memItemLeft" align="right" valign="top"><a id="a00af0daa1ae56f474746443002be6786"></a>
182 int&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::Internal::selfTest</b> (const char *const buildKey, const bool debug)</td></tr>
183 <tr class="separator:a00af0daa1ae56f474746443002be6786"><td class="memSeparator" colspan="2">&#160;</td></tr>
184 </table>
185 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
186 <div class="textblock"><p>This file contains miscellaneous functions that are generally useful for Qt-based applications. </p>
187 </div><h2 class="groupheader">Function Documentation</h2>
188 <a id="file_a67cb16c62b213da5135a6fa076f3f005"></a>
189 <h2 class="memtitle"><span class="permalink"><a href="#file_a67cb16c62b213da5135a6fa076f3f005">&sect;&nbsp;</a></span>make_temp_file()</h2>
191 <div class="memitem">
192 <div class="memproto">
193 <table class="memname">
194 <tr>
195 <td class="memname">QString MUtils::make_temp_file </td>
196 <td>(</td>
197 <td class="paramtype">const QString &amp;&#160;</td>
198 <td class="paramname"><em>basePath</em>, </td>
199 </tr>
200 <tr>
201 <td class="paramkey"></td>
202 <td></td>
203 <td class="paramtype">const QString &amp;&#160;</td>
204 <td class="paramname"><em>extension</em>, </td>
205 </tr>
206 <tr>
207 <td class="paramkey"></td>
208 <td></td>
209 <td class="paramtype">const bool&#160;</td>
210 <td class="paramname"><em>placeholder</em> = <code>false</code>&#160;</td>
211 </tr>
212 <tr>
213 <td></td>
214 <td>)</td>
215 <td></td><td></td>
216 </tr>
217 </table>
218 </div><div class="memdoc">
220 <p>Generates a temporary file name. </p>
221 <p>The function generates a file name that contains a <em>random</em> component and that is guaranteed to <b>not</b> exist yet. The generated file name follows a <code>"&lt;basedir&gt;/&lt;random&gt;.&lt;ext&gt;"</code> pattern. This is useful (not only) for creating temporary files.</p>
222 <dl class="params"><dt>Parameters</dt><dd>
223 <table class="params">
224 <tr><td class="paramname">basePath</td><td>Specifies the "base" directory where the temporary file is supposed to be created. This must be a valid <em>existing</em> directory.</td></tr>
225 <tr><td class="paramname">extension</td><td>Specifies the desired file extensions of the temporary file. Do <b>not</b> include a leading dot (<code>.</code>) character.</td></tr>
226 <tr><td class="paramname">placeholder</td><td>If set to <code>true</code>, the function creates an empty "placeholder" file under the returned file name; if set to <code>false</code>, it does <em>not</em>.</td></tr>
227 </table>
228 </dd>
229 </dl>
230 <dl class="section return"><dt>Returns</dt><dd>If the function succeeds, it returns a QString holding the full path of the temporary file; otherwise it returns a default-constructed QString. </dd></dl>
232 </div>
233 </div>
234 <a id="file_a390e56e35eb9329d2e67fa9741d07536"></a>
235 <h2 class="memtitle"><span class="permalink"><a href="#file_a390e56e35eb9329d2e67fa9741d07536">&sect;&nbsp;</a></span>make_unique_file()</h2>
237 <div class="memitem">
238 <div class="memproto">
239 <table class="memname">
240 <tr>
241 <td class="memname">QString MUtils::make_unique_file </td>
242 <td>(</td>
243 <td class="paramtype">const QString &amp;&#160;</td>
244 <td class="paramname"><em>basePath</em>, </td>
245 </tr>
246 <tr>
247 <td class="paramkey"></td>
248 <td></td>
249 <td class="paramtype">const QString &amp;&#160;</td>
250 <td class="paramname"><em>baseName</em>, </td>
251 </tr>
252 <tr>
253 <td class="paramkey"></td>
254 <td></td>
255 <td class="paramtype">const QString &amp;&#160;</td>
256 <td class="paramname"><em>extension</em>, </td>
257 </tr>
258 <tr>
259 <td class="paramkey"></td>
260 <td></td>
261 <td class="paramtype">const bool&#160;</td>
262 <td class="paramname"><em>fancy</em> = <code>false</code>&#160;</td>
263 </tr>
264 <tr>
265 <td></td>
266 <td>)</td>
267 <td></td><td></td>
268 </tr>
269 </table>
270 </div><div class="memdoc">
272 <p>Generates a unique file name. </p>
273 <p>The function generates a unique file name in the specified directory. The function guarantees that the return file name does <em>not</em> exist yet. If necessary, a <em>counter</em> will be included in the file name in order to ensure its uniqueness.</p>
274 <dl class="params"><dt>Parameters</dt><dd>
275 <table class="params">
276 <tr><td class="paramname">basePath</td><td>Specifies the "base" directory where the unique file is supposed to be created. This must be a valid <em>existing</em> directory.</td></tr>
277 <tr><td class="paramname">baseName</td><td>Specifies the desired "base" file name of the unqiue file. Do <b>not</b> include a file extension.</td></tr>
278 <tr><td class="paramname">extension</td><td>Specifies the desired file extensions of the unqiue file. Do <b>not</b> include a leading dot (<code>.</code>) character.</td></tr>
279 <tr><td class="paramname">fancy</td><td>If set to <code>true</code>, the file name is generated according to the <code>"&lt;basedir&gt;/&lt;basername&gt; (N).&lt;ext&gt;"</code> pattern; if set to <code>false</code>, the file name is generated according to the <code>"&lt;basedir&gt;/&lt;basername&gt;.XXXX.&lt;ext&gt;"</code> pattern.</td></tr>
280 </table>
281 </dd>
282 </dl>
283 <dl class="section return"><dt>Returns</dt><dd>If the function succeeds, it returns a QString holding the full path of the unique file; otherwise it returns a default-constructed QString. </dd></dl>
285 </div>
286 </div>
287 <a id="file_a996b60884ddf7728178e94f34ca12570"></a>
288 <h2 class="memtitle"><span class="permalink"><a href="#file_a996b60884ddf7728178e94f34ca12570">&sect;&nbsp;</a></span>next_rand_str()</h2>
290 <div class="memitem">
291 <div class="memproto">
292 <table class="memname">
293 <tr>
294 <td class="memname">QString MUtils::next_rand_str </td>
295 <td>(</td>
296 <td class="paramtype">const bool &amp;&#160;</td>
297 <td class="paramname"><em>bLong</em> = <code>false</code></td><td>)</td>
298 <td></td>
299 </tr>
300 </table>
301 </div><div class="memdoc">
303 <p>Generates a <em>random</em> string. </p>
304 <p>The random string is generated using the same PRNG as the <code><a class="el" href="../../d5/d3b/_global_8h.html#a15762bf5b0239e5f67a3815d63ed441a" title="Generates a random unsigned 64-Bit value. ">next_rand_u64()</a></code> function. The <em>random</em> bytes are converted to a hexadecimal string and, if necessary, zero-padded to a toal length of 16 or 32 characters. There is <b>no</b> <code>0x</code>-prefix included in the result.</p>
305 <dl class="params"><dt>Parameters</dt><dd>
306 <table class="params">
307 <tr><td class="paramname">bLong</td><td>If set to <code>true</code>, a "long" random string (32 characters) will be generated; if set to <code>false</code>, a "short" random string (16 characters) is generated.</td></tr>
308 </table>
309 </dd>
310 </dl>
311 <dl class="section return"><dt>Returns</dt><dd>The function retruns a QString holding a <em>random</em> hexadecimal string </dd></dl>
313 </div>
314 </div>
315 <a id="file_a4dc7dccb81653ae28e0d37a7c2f62112"></a>
316 <h2 class="memtitle"><span class="permalink"><a href="#file_a4dc7dccb81653ae28e0d37a7c2f62112">&sect;&nbsp;</a></span>next_rand_u32()</h2>
318 <div class="memitem">
319 <div class="memproto">
320 <table class="memname">
321 <tr>
322 <td class="memname">quint32 MUtils::next_rand_u32 </td>
323 <td>(</td>
324 <td class="paramtype">void&#160;</td>
325 <td class="paramname"></td><td>)</td>
326 <td></td>
327 </tr>
328 </table>
329 </div><div class="memdoc">
331 <p>Generates a <em>random</em> unsigned 32-Bit value. </p>
332 <p>The <em>random</em> value is created using a "strong" PRNG of the underlying system, if possible. Otherwise a fallback PRNG is used. It is <b>not</b> required or useful to call <code>srand()</code> or <code>qsrand()</code> prior to using this function. If necessary, the seeding of the PRNG happen <em>automatically</em> on the first call.</p>
333 <dl class="section return"><dt>Returns</dt><dd>The function retruns a <em>random</em> unsigned 32-Bit value. </dd></dl>
335 </div>
336 </div>
337 <a id="file_a15762bf5b0239e5f67a3815d63ed441a"></a>
338 <h2 class="memtitle"><span class="permalink"><a href="#file_a15762bf5b0239e5f67a3815d63ed441a">&sect;&nbsp;</a></span>next_rand_u64()</h2>
340 <div class="memitem">
341 <div class="memproto">
342 <table class="memname">
343 <tr>
344 <td class="memname">quint64 MUtils::next_rand_u64 </td>
345 <td>(</td>
346 <td class="paramtype">void&#160;</td>
347 <td class="paramname"></td><td>)</td>
348 <td></td>
349 </tr>
350 </table>
351 </div><div class="memdoc">
353 <p>Generates a <em>random</em> unsigned 64-Bit value. </p>
354 <p>The <em>random</em> value is created using a "strong" PRNG of the underlying system, if possible. Otherwise a fallback PRNG is used. It is <b>not</b> required or useful to call <code>srand()</code> or <code>qsrand()</code> prior to using this function. If necessary, the seeding of the PRNG happen <em>automatically</em> on the first call.</p>
355 <dl class="section return"><dt>Returns</dt><dd>The function retruns a <em>random</em> unsigned 64-Bit value. </dd></dl>
357 </div>
358 </div>
359 <a id="file_ad1bdb5e416839b1f85f6df68e58ae28c"></a>
360 <h2 class="memtitle"><span class="permalink"><a href="#file_ad1bdb5e416839b1f85f6df68e58ae28c">&sect;&nbsp;</a></span>parity()</h2>
362 <div class="memitem">
363 <div class="memproto">
364 <table class="memname">
365 <tr>
366 <td class="memname">bool MUtils::parity </td>
367 <td>(</td>
368 <td class="paramtype">quint32&#160;</td>
369 <td class="paramname"><em>value</em></td><td>)</td>
370 <td></td>
371 </tr>
372 </table>
373 </div><div class="memdoc">
375 <p>Computes the <em>parity</em> of the given unsigned 32-Bit value. </p>
376 <dl class="params"><dt>Parameters</dt><dd>
377 <table class="params">
378 <tr><td class="paramname">value</td><td>The 32-Bit unsigned value from which the parity is to be computed.</td></tr>
379 </table>
380 </dd>
381 </dl>
382 <dl class="section return"><dt>Returns</dt><dd>The function returns <code>true</code>, if the number of <b>1</b> bits in the given value is <em>odd</em>; it returns <code>false</code>, if the number of <b>1</b> bits in the given value is <em>even</em>. </dd></dl>
384 </div>
385 </div>
386 <a id="file_a9ddb9a2039585b1ef3429db16ea84292"></a>
387 <h2 class="memtitle"><span class="permalink"><a href="#file_a9ddb9a2039585b1ef3429db16ea84292">&sect;&nbsp;</a></span>temp_folder()</h2>
389 <div class="memitem">
390 <div class="memproto">
391 <table class="memname">
392 <tr>
393 <td class="memname">const QString&amp; MUtils::temp_folder </td>
394 <td>(</td>
395 <td class="paramtype">void&#160;</td>
396 <td class="paramname"></td><td>)</td>
397 <td></td>
398 </tr>
399 </table>
400 </div><div class="memdoc">
402 <p>Rerieves the full path of the application's <em>Temp</em> folder. </p>
403 <p>The application's <em>Temp</em> folder is a unique application-specific folder, intended to store any temporary files that the application may need. It will be created when this function is called for the first time (lazy initialization); subsequent calls are guaranteed to return the same path. Usually the application's <em>Temp</em> folder will be created as a sub-folder of the system's global <em>Temp</em> folder, as indicated by the <code>TMP</code> or <code>TEMP</code> environment variables. However, it may be created at a different place(e.g. in the users <em>Profile</em> directory), if those environment variables don't point to a usable directory. In any case, this function makes sure that the application's <em>Temp</em> folder exists for the whole lifetime of the application and that it is writable. When the application is about to terminate, the application's <em>Temp</em> folder and all files or sub-directories thereof will be <em>removed</em> automatically!</p>
404 <dl class="section return"><dt>Returns</dt><dd>If the function succeeds, it returns a read-only reference to a QString holding the full path of the application's <em>Temp</em> folder; otherwise a read-only reference to a default-constructed QString is returned. </dd></dl>
406 </div>
407 </div>
408 </div><!-- contents -->
409 <!-- start footer part -->
410 <hr class="footer"/><address class="footer"><small>
411 Generated on Sun Dec 18 2016 22:39:38 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
412 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
413 </a> 1.8.12
414 </small></address>
415 </body>
416 </html>