OSDN Git Service

Added the Lazy<T> class, for "lazy" initialization.
[mutilities/MUtilities.git] / docs / d5 / d3b / _global_8h.html
index d421f79..0857f1e 100644 (file)
@@ -64,6 +64,7 @@ $(function() {
 </div><!-- top -->
 <div class="header">
   <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
 <a href="#define-members">Macros</a> &#124;
 <a href="#func-members">Functions</a>  </div>
   <div class="headertitle">
@@ -77,338 +78,144 @@ $(function() {
 </div>
 <p><a href="../../d5/d3b/_global_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:d3/da6/namespace_m_utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html">MUtils</a></td></tr>
+<tr class="memdesc:d3/da6/namespace_m_utils"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global <a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 Macros</h2></td></tr>
-<tr class="memitem:a761530893b34e2d324f22ddf7bc31455"><td class="memItemLeft" align="right" valign="top"><a id="a761530893b34e2d324f22ddf7bc31455"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_API</b></td></tr>
-<tr class="separator:a761530893b34e2d324f22ddf7bc31455"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad5b14e1c1267ed90263a45bf6d4289ca"><td class="memItemLeft" align="right" valign="top"><a id="ad5b14e1c1267ed90263a45bf6d4289ca"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_MAKE_STRING_HELPER</b>(X)&#160;&#160;&#160;#X</td></tr>
-<tr class="separator:ad5b14e1c1267ed90263a45bf6d4289ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af2c5f52bf983b10e2078b03ce36efb22"><td class="memItemLeft" align="right" valign="top"><a id="af2c5f52bf983b10e2078b03ce36efb22"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_MAKE_STRING</b>(X)&#160;&#160;&#160;MUTILS_MAKE_STRING_HELPER(X)</td></tr>
-<tr class="separator:af2c5f52bf983b10e2078b03ce36efb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2b88ab398bf3616fb6826c806f435ddc"><td class="memItemLeft" align="right" valign="top"><a id="a2b88ab398bf3616fb6826c806f435ddc"></a>
-#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>
-<tr class="separator:a2b88ab398bf3616fb6826c806f435ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a249516197568fbf9bbf980554b4d6d95"><td class="memItemLeft" align="right" valign="top"><a id="a249516197568fbf9bbf980554b4d6d95"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_DEBUG</b>&#160;&#160;&#160;(1)</td></tr>
-<tr class="separator:a249516197568fbf9bbf980554b4d6d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad42b1946a83df3bd76734d5ab691fd0d"><td class="memItemLeft" align="right" valign="top"><a id="ad42b1946a83df3bd76734d5ab691fd0d"></a>
-#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>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#ad42b1946a83df3bd76734d5ab691fd0d">MUTILS_DELETE</a>(PTR)&#160;&#160;&#160;do { if((PTR)) { delete (PTR); (PTR) = NULL; } } while(0)</td></tr>
+<tr class="memdesc:ad42b1946a83df3bd76734d5ab691fd0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the object, if and only if the given pointer is <em>not</em> NULL. Also sets pointer to NULL after object has been deleted. <br /></td></tr>
 <tr class="separator:ad42b1946a83df3bd76734d5ab691fd0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa544a37b80f1ab9d86f439a7666e9aa8"><td class="memItemLeft" align="right" valign="top"><a id="aa544a37b80f1ab9d86f439a7666e9aa8"></a>
-#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>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#aa544a37b80f1ab9d86f439a7666e9aa8">MUTILS_DELETE_ARRAY</a>(PTR)&#160;&#160;&#160;do { if((PTR)) { delete [] (PTR); (PTR) = NULL; } } while(0)</td></tr>
+<tr class="memdesc:aa544a37b80f1ab9d86f439a7666e9aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the array, if and only if the given pointer is <em>not</em> NULL. Also sets pointer to NULL after array has been deleted. <br /></td></tr>
 <tr class="separator:aa544a37b80f1ab9d86f439a7666e9aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1fe39de37351efa3ca46bdc8653e1f25"><td class="memItemLeft" align="right" valign="top"><a id="a1fe39de37351efa3ca46bdc8653e1f25"></a>
-#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>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a1fe39de37351efa3ca46bdc8653e1f25">MUTILS_ZERO_MEMORY</a>(PTR)&#160;&#160;&#160;memset(&amp;(PTR), 0, sizeof((PTR)))</td></tr>
+<tr class="memdesc:a1fe39de37351efa3ca46bdc8653e1f25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the specified variable or struct by setting all of its bytes to <em>zero</em> (<code>0x00</code>). Do <b>not</b> use for arrays. <br /></td></tr>
 <tr class="separator:a1fe39de37351efa3ca46bdc8653e1f25"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:af55d43b39d3f41cf090c138ed190ee6e"><td class="memItemLeft" align="right" valign="top"><a id="af55d43b39d3f41cf090c138ed190ee6e"></a>
-#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>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#af55d43b39d3f41cf090c138ed190ee6e">MUTILS_WCHR</a>(STR)&#160;&#160;&#160;(reinterpret_cast&lt;const wchar_t*&gt;((STR).utf16()))</td></tr>
+<tr class="memdesc:af55d43b39d3f41cf090c138ed190ee6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a given QString object to a <code>wchar_t*</code> pointer. Does <b>not</b> copy the string data, so do <b>not</b> free the pointer! The returned pointer only remains valid until the underlying QString is modified or goes out of scope. <br /></td></tr>
 <tr class="separator:af55d43b39d3f41cf090c138ed190ee6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a88b0902153ea537b12d86267af20eb3f"><td class="memItemLeft" align="right" valign="top"><a id="a88b0902153ea537b12d86267af20eb3f"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><b>MUTILS_UTF8</b>(STR)&#160;&#160;&#160;((STR).toUtf8().constData())</td></tr>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a88b0902153ea537b12d86267af20eb3f">MUTILS_UTF8</a>(STR)&#160;&#160;&#160;((STR).toUtf8().constData())</td></tr>
+<tr class="memdesc:a88b0902153ea537b12d86267af20eb3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a given QString object to a <code>char*</code> pointer. The string is converted to UTF-8 encoding. The pointer is valid <em>only</em> while the expression is being evaluated, so do <b>not</b> free or store this pointer! Mainly useful for function calls that require a <code>char*</code> argument. <br /></td></tr>
 <tr class="separator:a88b0902153ea537b12d86267af20eb3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e190bac06bf7cb9993cfb4c75f66fb6"><td class="memItemLeft" align="right" valign="top"><a id="a9e190bac06bf7cb9993cfb4c75f66fb6"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a9e190bac06bf7cb9993cfb4c75f66fb6">MUTILS_L1STR</a>(STR)&#160;&#160;&#160;((STR).toLatin1().constData())</td></tr>
+<tr class="memdesc:a9e190bac06bf7cb9993cfb4c75f66fb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a given QString object to a <code>char*</code> pointer. The string is converted to Latin-1 encoding. The pointer is valid <em>only</em> while the expression is being evaluated, so do <b>not</b> free or store this pointer! Mainly useful for function calls that require a <code>char*</code> argument. <br /></td></tr>
+<tr class="separator:a9e190bac06bf7cb9993cfb4c75f66fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a04d63f6f60c90f8e3c4029824a7352b0"><td class="memItemLeft" align="right" valign="top"><a id="a04d63f6f60c90f8e3c4029824a7352b0"></a>
-#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>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a04d63f6f60c90f8e3c4029824a7352b0">MUTILS_QSTR</a>(STR)&#160;&#160;&#160;(QString::fromUtf16(reinterpret_cast&lt;const unsigned short*&gt;((STR))))</td></tr>
+<tr class="memdesc:a04d63f6f60c90f8e3c4029824a7352b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a QString object from a given <code>wchar_t*</code> buffer. The buffer is expected to conatin a NULL-terminated string in UTF-16 encoding. The string data is copied into the new QString object, however the original buffer will <b>not</b> be freed automatically! <br /></td></tr>
 <tr class="separator:a04d63f6f60c90f8e3c4029824a7352b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a177ecbfe7701c2ac04bb8bdeb208773a"><td class="memItemLeft" align="right" valign="top"><a id="a177ecbfe7701c2ac04bb8bdeb208773a"></a>
-#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>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a177ecbfe7701c2ac04bb8bdeb208773a">MUTILS_BOOL2STR</a>(X)&#160;&#160;&#160;((X) ? &quot;1&quot; : &quot;0&quot;)</td></tr>
+<tr class="memdesc:a177ecbfe7701c2ac04bb8bdeb208773a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a boolean expression into a string. A <em>true</em> boolean expression is converted to the string <code>"1"</code>; a <em>false</em> boolean expression is converted to the string <code>"0"</code>. <br /></td></tr>
 <tr class="separator:a177ecbfe7701c2ac04bb8bdeb208773a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8455a4d868742129d26356469fae26ba"><td class="memItemLeft" align="right" valign="top"><a id="a8455a4d868742129d26356469fae26ba"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a8455a4d868742129d26356469fae26ba">MUTILS_BOOLIFY</a>(X)&#160;&#160;&#160;(!(!(X)))</td></tr>
+<tr class="memdesc:a8455a4d868742129d26356469fae26ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a given expression into a boolean expression, by application of double negation operator. <br /></td></tr>
+<tr class="separator:a8455a4d868742129d26356469fae26ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8e7b4857b78f9749233e5abc96534ca8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a8e7b4857b78f9749233e5abc96534ca8">MUTILS_NO_COPY</a>(CLASS)</td></tr>
+<tr class="memdesc:a8e7b4857b78f9749233e5abc96534ca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables copy constructor and assignment operator in the specified class. This macro should be used in the "private" section of the class' declaration.  <a href="#a8e7b4857b78f9749233e5abc96534ca8">More...</a><br /></td></tr>
+<tr class="separator:a8e7b4857b78f9749233e5abc96534ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
-<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>
-<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>
-<tr class="separator:a9ddb9a2039585b1ef3429db16ea84292"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a94d9552ee93a19722fdb411e580340"><td class="memItemLeft" align="right" valign="top"><a id="a5a94d9552ee93a19722fdb411e580340"></a>
-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>
-<tr class="separator:a5a94d9552ee93a19722fdb411e580340"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<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>
-<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>
-<tr class="separator:a4dc7dccb81653ae28e0d37a7c2f62112"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<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>
-<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>
-<tr class="separator:a15762bf5b0239e5f67a3815d63ed441a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<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>
-<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>
-<tr class="separator:a996b60884ddf7728178e94f34ca12570"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<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>
-<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>
-<tr class="separator:a67cb16c62b213da5135a6fa076f3f005"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<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>
-<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>
-<tr class="separator:a390e56e35eb9329d2e67fa9741d07536"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<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>
-<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>
-<tr class="separator:ad1bdb5e416839b1f85f6df68e58ae28c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a12259acdd6aff74ee83819d3aebd8ba9"><td class="memItemLeft" align="right" valign="top"><a id="a12259acdd6aff74ee83819d3aebd8ba9"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::remove_file</b> (const QString &amp;fileName)</td></tr>
-<tr class="separator:a12259acdd6aff74ee83819d3aebd8ba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac7d2c9bd5c49230b2fed72e3410c3f7d"><td class="memItemLeft" align="right" valign="top"><a id="ac7d2c9bd5c49230b2fed72e3410c3f7d"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::remove_directory</b> (const QString &amp;folderPath, const bool &amp;recursive)</td></tr>
-<tr class="separator:ac7d2c9bd5c49230b2fed72e3410c3f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9290a3fe637a05ad2a7515f36fad79bd"><td class="memItemLeft" align="right" valign="top"><a id="a9290a3fe637a05ad2a7515f36fad79bd"></a>
-QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::trim_right</b> (QString &amp;str)</td></tr>
-<tr class="separator:a9290a3fe637a05ad2a7515f36fad79bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af089c8a40b6ec2e19db3fe612aa81c8c"><td class="memItemLeft" align="right" valign="top"><a id="af089c8a40b6ec2e19db3fe612aa81c8c"></a>
-QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::trim_left</b> (QString &amp;str)</td></tr>
-<tr class="separator:af089c8a40b6ec2e19db3fe612aa81c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3eb47d6ca49b2700622e3fe99faf14d8"><td class="memItemLeft" align="right" valign="top"><a id="a3eb47d6ca49b2700622e3fe99faf14d8"></a>
-QString&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::trim_right</b> (const QString &amp;str)</td></tr>
-<tr class="separator:a3eb47d6ca49b2700622e3fe99faf14d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8680aeaeb1118353bd099e26ba7d6123"><td class="memItemLeft" align="right" valign="top"><a id="a8680aeaeb1118353bd099e26ba7d6123"></a>
-QString&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::trim_left</b> (const QString &amp;str)</td></tr>
-<tr class="separator:a8680aeaeb1118353bd099e26ba7d6123"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09e919d419ded903481cf7aba702dcba"><td class="memItemLeft" align="right" valign="top"><a id="a09e919d419ded903481cf7aba702dcba"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::natural_string_sort</b> (QStringList &amp;list, const bool bIgnoreCase)</td></tr>
-<tr class="separator:a09e919d419ded903481cf7aba702dcba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a895e14458df7226110ae70029c1729a9"><td class="memItemLeft" align="right" valign="top"><a id="a895e14458df7226110ae70029c1729a9"></a>
-QString&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::clean_file_name</b> (const QString &amp;name)</td></tr>
-<tr class="separator:a895e14458df7226110ae70029c1729a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac0949226be088ce65a60d5aa4194e1c0"><td class="memItemLeft" align="right" valign="top"><a id="ac0949226be088ce65a60d5aa4194e1c0"></a>
-QString&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::clean_file_path</b> (const QString &amp;path)</td></tr>
-<tr class="separator:ac0949226be088ce65a60d5aa4194e1c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45cb0d1e6a55cf5ffda3b626c25fd957"><td class="memItemLeft" align="right" valign="top"><a id="a45cb0d1e6a55cf5ffda3b626c25fd957"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::regexp_parse_uint32</b> (const QRegExp &amp;regexp, quint32 &amp;value)</td></tr>
-<tr class="separator:a45cb0d1e6a55cf5ffda3b626c25fd957"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a367969a260da994876d19c9f7ee40606"><td class="memItemLeft" align="right" valign="top"><a id="a367969a260da994876d19c9f7ee40606"></a>
-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>
-<tr class="separator:a367969a260da994876d19c9f7ee40606"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4fcbdafffc1224776616fcc6aec8278b"><td class="memItemLeft" align="right" valign="top"><a id="a4fcbdafffc1224776616fcc6aec8278b"></a>
-QStringList&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::available_codepages</b> (const bool &amp;noAliases=true)</td></tr>
-<tr class="separator:a4fcbdafffc1224776616fcc6aec8278b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00af0daa1ae56f474746443002be6786"><td class="memItemLeft" align="right" valign="top"><a id="a00af0daa1ae56f474746443002be6786"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::Internal::selfTest</b> (const char *const buildKey, const bool debug)</td></tr>
-<tr class="separator:a00af0daa1ae56f474746443002be6786"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f198156e8be91f3e74dd9ed69ffaa34"><td class="memItemLeft" align="right" valign="top">MUTILS_API const QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a3f198156e8be91f3e74dd9ed69ffaa34">MUtils::temp_folder</a> (void)</td></tr>
+<tr class="memdesc:a3f198156e8be91f3e74dd9ed69ffaa34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rerieves the full path of the application's <em>Temp</em> folder.  <a href="../../d3/da6/namespace_m_utils.html#a3f198156e8be91f3e74dd9ed69ffaa34">More...</a><br /></td></tr>
+<tr class="separator:a3f198156e8be91f3e74dd9ed69ffaa34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ecb5d72f33a7b6feadd7deb8ed46cc3"><td class="memItemLeft" align="right" valign="top">MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a0ecb5d72f33a7b6feadd7deb8ed46cc3">MUtils::init_process</a> (QProcess &amp;process, const QString &amp;wokringDir, const bool bReplaceTempDir=true, const QStringList *const extraPaths=NULL)</td></tr>
+<tr class="memdesc:a0ecb5d72f33a7b6feadd7deb8ed46cc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a given <a href="http://doc.qt.io/qt-4.8/qprocess.html">QProcess</a> object.  <a href="../../d3/da6/namespace_m_utils.html#a0ecb5d72f33a7b6feadd7deb8ed46cc3">More...</a><br /></td></tr>
+<tr class="separator:a0ecb5d72f33a7b6feadd7deb8ed46cc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c9832c1d645a2c90e9bd52d57d843b3"><td class="memItemLeft" align="right" valign="top">MUTILS_API quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a1c9832c1d645a2c90e9bd52d57d843b3">MUtils::next_rand_u32</a> (void)</td></tr>
+<tr class="memdesc:a1c9832c1d645a2c90e9bd52d57d843b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> unsigned 32-Bit value.  <a href="../../d3/da6/namespace_m_utils.html#a1c9832c1d645a2c90e9bd52d57d843b3">More...</a><br /></td></tr>
+<tr class="separator:a1c9832c1d645a2c90e9bd52d57d843b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7edd4aece64faf3aa16c9509243608c"><td class="memItemLeft" align="right" valign="top">MUTILS_API quint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ad7edd4aece64faf3aa16c9509243608c">MUtils::next_rand_u64</a> (void)</td></tr>
+<tr class="memdesc:ad7edd4aece64faf3aa16c9509243608c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> unsigned 64-Bit value.  <a href="../../d3/da6/namespace_m_utils.html#ad7edd4aece64faf3aa16c9509243608c">More...</a><br /></td></tr>
+<tr class="separator:ad7edd4aece64faf3aa16c9509243608c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac583617546d5ae100ce7436546d9662c"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ac583617546d5ae100ce7436546d9662c">MUtils::next_rand_str</a> (const bool &amp;bLong=false)</td></tr>
+<tr class="memdesc:ac583617546d5ae100ce7436546d9662c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> string.  <a href="../../d3/da6/namespace_m_utils.html#ac583617546d5ae100ce7436546d9662c">More...</a><br /></td></tr>
+<tr class="separator:ac583617546d5ae100ce7436546d9662c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29461116550863e8730f3f4ec479bbcb"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a29461116550863e8730f3f4ec479bbcb">MUtils::make_temp_file</a> (const QString &amp;basePath, const QString &amp;extension, const bool placeholder=false)</td></tr>
+<tr class="memdesc:a29461116550863e8730f3f4ec479bbcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a temporary file name.  <a href="../../d3/da6/namespace_m_utils.html#a29461116550863e8730f3f4ec479bbcb">More...</a><br /></td></tr>
+<tr class="separator:a29461116550863e8730f3f4ec479bbcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9afe3821ae9bef7bdf56a4183fdea0d"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#af9afe3821ae9bef7bdf56a4183fdea0d">MUtils::make_unique_file</a> (const QString &amp;basePath, const QString &amp;baseName, const QString &amp;extension, const bool fancy=false)</td></tr>
+<tr class="memdesc:af9afe3821ae9bef7bdf56a4183fdea0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a unique file name.  <a href="../../d3/da6/namespace_m_utils.html#af9afe3821ae9bef7bdf56a4183fdea0d">More...</a><br /></td></tr>
+<tr class="separator:af9afe3821ae9bef7bdf56a4183fdea0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea4a212153b09b24b04f30ef5159f29b"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#aea4a212153b09b24b04f30ef5159f29b">MUtils::parity</a> (quint32 value)</td></tr>
+<tr class="memdesc:aea4a212153b09b24b04f30ef5159f29b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the <em>parity</em> of the given unsigned 32-Bit value.  <a href="../../d3/da6/namespace_m_utils.html#aea4a212153b09b24b04f30ef5159f29b">More...</a><br /></td></tr>
+<tr class="separator:aea4a212153b09b24b04f30ef5159f29b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a14e75627eebd09efc37898d74c5ac6"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a5a14e75627eebd09efc37898d74c5ac6">MUtils::remove_file</a> (const QString &amp;fileName)</td></tr>
+<tr class="memdesc:a5a14e75627eebd09efc37898d74c5ac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the specified file.  <a href="../../d3/da6/namespace_m_utils.html#a5a14e75627eebd09efc37898d74c5ac6">More...</a><br /></td></tr>
+<tr class="separator:a5a14e75627eebd09efc37898d74c5ac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d451ddc82668d1298f2922f62474b5d"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a4d451ddc82668d1298f2922f62474b5d">MUtils::remove_directory</a> (const QString &amp;folderPath, const bool &amp;recursive)</td></tr>
+<tr class="memdesc:a4d451ddc82668d1298f2922f62474b5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively deletes the specified directory.  <a href="../../d3/da6/namespace_m_utils.html#a4d451ddc82668d1298f2922f62474b5d">More...</a><br /></td></tr>
+<tr class="separator:a4d451ddc82668d1298f2922f62474b5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6118cf23d2b771fae1ad159c7ea6686a"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a6118cf23d2b771fae1ad159c7ea6686a">MUtils::trim_right</a> (QString &amp;str)</td></tr>
+<tr class="memdesc:a6118cf23d2b771fae1ad159c7ea6686a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="../../d3/da6/namespace_m_utils.html#a6118cf23d2b771fae1ad159c7ea6686a">More...</a><br /></td></tr>
+<tr class="separator:a6118cf23d2b771fae1ad159c7ea6686a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20b8fc56856ee904caaded756399e705"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a20b8fc56856ee904caaded756399e705">MUtils::trim_left</a> (QString &amp;str)</td></tr>
+<tr class="memdesc:a20b8fc56856ee904caaded756399e705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>leading</em> white-space characters.  <a href="../../d3/da6/namespace_m_utils.html#a20b8fc56856ee904caaded756399e705">More...</a><br /></td></tr>
+<tr class="separator:a20b8fc56856ee904caaded756399e705"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bcb0fce5181ded3c54456379147009d"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a3bcb0fce5181ded3c54456379147009d">MUtils::trim_right</a> (const QString &amp;str)</td></tr>
+<tr class="memdesc:a3bcb0fce5181ded3c54456379147009d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="../../d3/da6/namespace_m_utils.html#a3bcb0fce5181ded3c54456379147009d">More...</a><br /></td></tr>
+<tr class="separator:a3bcb0fce5181ded3c54456379147009d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae43bc17b6fa4ee2287099c4ae095483b"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ae43bc17b6fa4ee2287099c4ae095483b">MUtils::trim_left</a> (const QString &amp;str)</td></tr>
+<tr class="memdesc:ae43bc17b6fa4ee2287099c4ae095483b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="../../d3/da6/namespace_m_utils.html#ae43bc17b6fa4ee2287099c4ae095483b">More...</a><br /></td></tr>
+<tr class="separator:ae43bc17b6fa4ee2287099c4ae095483b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d4c545ea06892f6487f15a48808564f"><td class="memItemLeft" align="right" valign="top">MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a4d4c545ea06892f6487f15a48808564f">MUtils::natural_string_sort</a> (QStringList &amp;list, const bool bIgnoreCase)</td></tr>
+<tr class="memdesc:a4d4c545ea06892f6487f15a48808564f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort a list of strings using "natural ordering" algorithm.  <a href="../../d3/da6/namespace_m_utils.html#a4d4c545ea06892f6487f15a48808564f">More...</a><br /></td></tr>
+<tr class="separator:a4d4c545ea06892f6487f15a48808564f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb7783b8ecbe163501ce60dce8b6709f"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#aeb7783b8ecbe163501ce60dce8b6709f">MUtils::clean_file_name</a> (const QString &amp;name, const bool &amp;pretty)</td></tr>
+<tr class="memdesc:aeb7783b8ecbe163501ce60dce8b6709f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up a file name string.  <a href="../../d3/da6/namespace_m_utils.html#aeb7783b8ecbe163501ce60dce8b6709f">More...</a><br /></td></tr>
+<tr class="separator:aeb7783b8ecbe163501ce60dce8b6709f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb5da6435b27e10443060dd2550784f3"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#adb5da6435b27e10443060dd2550784f3">MUtils::clean_file_path</a> (const QString &amp;path, const bool &amp;pretty)</td></tr>
+<tr class="memdesc:adb5da6435b27e10443060dd2550784f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up a file path string.  <a href="../../d3/da6/namespace_m_utils.html#adb5da6435b27e10443060dd2550784f3">More...</a><br /></td></tr>
+<tr class="separator:adb5da6435b27e10443060dd2550784f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2a851b289ee66873d3a1ec86f5f34eb"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ad2a851b289ee66873d3a1ec86f5f34eb">MUtils::regexp_parse_uint32</a> (const QRegExp &amp;regexp, quint32 &amp;value)</td></tr>
+<tr class="memdesc:ad2a851b289ee66873d3a1ec86f5f34eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse regular expression results.  <a href="../../d3/da6/namespace_m_utils.html#ad2a851b289ee66873d3a1ec86f5f34eb">More...</a><br /></td></tr>
+<tr class="separator:ad2a851b289ee66873d3a1ec86f5f34eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81704d66d34e37d3e0e159b5f436babf"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a81704d66d34e37d3e0e159b5f436babf">MUtils::regexp_parse_uint32</a> (const QRegExp &amp;regexp, quint32 *values, const size_t &amp;count)</td></tr>
+<tr class="memdesc:a81704d66d34e37d3e0e159b5f436babf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse regular expression results.  <a href="../../d3/da6/namespace_m_utils.html#a81704d66d34e37d3e0e159b5f436babf">More...</a><br /></td></tr>
+<tr class="separator:a81704d66d34e37d3e0e159b5f436babf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2275e64c3c74dea855c39b66be67f705"><td class="memItemLeft" align="right" valign="top">MUTILS_API QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a2275e64c3c74dea855c39b66be67f705">MUtils::available_codepages</a> (const bool &amp;noAliases=true)</td></tr>
+<tr class="memdesc:a2275e64c3c74dea855c39b66be67f705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a list of all available codepages.  <a href="../../d3/da6/namespace_m_utils.html#a2275e64c3c74dea855c39b66be67f705">More...</a><br /></td></tr>
+<tr class="separator:a2275e64c3c74dea855c39b66be67f705"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>This file contains miscellaneous functions that are generally useful for Qt-based applications. </p>
-</div><h2 class="groupheader">Function Documentation</h2>
-<a id="file_a67cb16c62b213da5135a6fa076f3f005"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#file_a67cb16c62b213da5135a6fa076f3f005">&sect;&nbsp;</a></span>make_temp_file()</h2>
+</div><h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a8e7b4857b78f9749233e5abc96534ca8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8e7b4857b78f9749233e5abc96534ca8">&sect;&nbsp;</a></span>MUTILS_NO_COPY</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">QString MUtils::make_temp_file </td>
+          <td class="memname">#define MUTILS_NO_COPY</td>
           <td>(</td>
-          <td class="paramtype">const QString &amp;&#160;</td>
-          <td class="paramname"><em>basePath</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const QString &amp;&#160;</td>
-          <td class="paramname"><em>extension</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const bool&#160;</td>
-          <td class="paramname"><em>placeholder</em> = <code>false</code>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">CLASS</td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
-
-<p>Generates a temporary file name. </p>
-<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>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <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>
-    <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>
-    <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>
-  </table>
-  </dd>
-</dl>
-<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>
-
-</div>
-</div>
-<a id="file_a390e56e35eb9329d2e67fa9741d07536"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#file_a390e56e35eb9329d2e67fa9741d07536">&sect;&nbsp;</a></span>make_unique_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">QString MUtils::make_unique_file </td>
-          <td>(</td>
-          <td class="paramtype">const QString &amp;&#160;</td>
-          <td class="paramname"><em>basePath</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const QString &amp;&#160;</td>
-          <td class="paramname"><em>baseName</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const QString &amp;&#160;</td>
-          <td class="paramname"><em>extension</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const bool&#160;</td>
-          <td class="paramname"><em>fancy</em> = <code>false</code>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Generates a unique file name. </p>
-<p>The function generates a unique file name in the specified directory. The function guarantees that the returned 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>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <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>
-    <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>
-    <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>
-    <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;basename&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;basename&gt;.XXXX.&lt;ext&gt;"</code> pattern.</td></tr>
-  </table>
-  </dd>
-</dl>
-<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>
-
-</div>
-</div>
-<a id="file_a996b60884ddf7728178e94f34ca12570"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#file_a996b60884ddf7728178e94f34ca12570">&sect;&nbsp;</a></span>next_rand_str()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">QString MUtils::next_rand_str </td>
-          <td>(</td>
-          <td class="paramtype">const bool &amp;&#160;</td>
-          <td class="paramname"><em>bLong</em> = <code>false</code></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Generates a <em>random</em> string. </p>
-<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>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <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>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function retruns a QString holding a <em>random</em> hexadecimal string </dd></dl>
-
-</div>
-</div>
-<a id="file_a4dc7dccb81653ae28e0d37a7c2f62112"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#file_a4dc7dccb81653ae28e0d37a7c2f62112">&sect;&nbsp;</a></span>next_rand_u32()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">quint32 MUtils::next_rand_u32 </td>
-          <td>(</td>
-          <td class="paramtype">void&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Generates a <em>random</em> unsigned 32-Bit value. </p>
-<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>
-<dl class="section return"><dt>Returns</dt><dd>The function retruns a <em>random</em> unsigned 32-Bit value. </dd></dl>
-
-</div>
-</div>
-<a id="file_a15762bf5b0239e5f67a3815d63ed441a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#file_a15762bf5b0239e5f67a3815d63ed441a">&sect;&nbsp;</a></span>next_rand_u64()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">quint64 MUtils::next_rand_u64 </td>
-          <td>(</td>
-          <td class="paramtype">void&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Generates a <em>random</em> unsigned 64-Bit value. </p>
-<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>
-<dl class="section return"><dt>Returns</dt><dd>The function retruns a <em>random</em> unsigned 64-Bit value. </dd></dl>
-
-</div>
-</div>
-<a id="file_ad1bdb5e416839b1f85f6df68e58ae28c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#file_ad1bdb5e416839b1f85f6df68e58ae28c">&sect;&nbsp;</a></span>parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool MUtils::parity </td>
-          <td>(</td>
-          <td class="paramtype">quint32&#160;</td>
-          <td class="paramname"><em>value</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Computes the <em>parity</em> of the given unsigned 32-Bit value. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">value</td><td>The 32-Bit unsigned value from which the parity is to be computed.</td></tr>
-  </table>
-  </dd>
-</dl>
-<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>
-
-</div>
-</div>
-<a id="file_a9ddb9a2039585b1ef3429db16ea84292"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#file_a9ddb9a2039585b1ef3429db16ea84292">&sect;&nbsp;</a></span>temp_folder()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const QString&amp; MUtils::temp_folder </td>
-          <td>(</td>
-          <td class="paramtype">void&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Rerieves the full path of the application's <em>Temp</em> folder. </p>
-<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>
-<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>
+<b>Value:</b><div class="fragment"><div class="line">CLASS(<span class="keyword">const</span> CLASS &amp;) { <span class="keywordflow">throw</span> <span class="stringliteral">&quot;Copy constructor is disabled!&quot;</span>; } \</div><div class="line">    CLASS &amp;operator=(<span class="keyword">const</span> CLASS &amp;) { <span class="keywordflow">throw</span> <span class="stringliteral">&quot;Assignment operator is disabled!&quot;</span>; }</div></div><!-- fragment -->
+<p>Disables copy constructor and assignment operator in the specified class. This macro should be used in the "private" section of the class' declaration. </p>
 
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:07 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>