OSDN Git Service

Some documentation updates.
authorLoRd_MuldeR <mulder2@gmx.de>
Mon, 19 Dec 2016 00:57:41 +0000 (01:57 +0100)
committerLoRd_MuldeR <mulder2@gmx.de>
Mon, 19 Dec 2016 00:57:41 +0000 (01:57 +0100)
59 files changed:
docs/annotated.html
docs/classes.html
docs/d0/d8a/class_m_utils_1_1_update_checker.html
docs/d0/dd7/_version_8h_source.html
docs/d0/dd8/struct_m_utils_1_1_hash_1_1_internal_1_1_keccak_impl_1_1sponge_state_struct.html
docs/d1/d01/class_m_utils_1_1_hash_1_1_blake2.html
docs/d1/d08/class_m_utils_1_1_job_object-members.html
docs/d1/d0a/_taskbar7_8h_source.html
docs/d1/d0d/class_m_utils_1_1_update_checker_info.html
docs/d1/d32/class_m_utils_1_1_version.html
docs/d1/d37/_hash___blake2_8h_source.html
docs/d1/d93/_i_p_c_channel_8h_source.html
docs/d1/d9c/class_m_utils_1_1_hash_1_1_keccak-members.html
docs/d1/dd9/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t-members.html
docs/d2/d13/_startup_8h_source.html
docs/d2/d52/class_m_utils_1_1_taskbar7.html
docs/d2/d7d/class_m_utils_1_1_update_checker-members.html
docs/d2/db5/_c_p_u_features_8h_source.html
docs/d2/ddd/class_m_utils_1_1_update_checker_info-members.html
docs/d3/d13/class_m_utils_1_1_version-members.html
docs/d3/d35/struct_m_utils_1_1_hash_1_1_internal_1_1_keccak_impl_1_1sponge_state_struct-members.html
docs/d3/d5c/_registry_8h_source.html
docs/d3/dc1/_o_s_support_8h_source.html
docs/d3/dc6/class_m_utils_1_1_taskbar7-members.html
docs/d3/dd5/_error_handler_8h_source.html
docs/d4/d85/_job_object_8h_source.html
docs/d5/d3b/_global_8h.html
docs/d5/d3b/_global_8h_source.html
docs/d5/db0/_sound_8h_source.html
docs/d5/de1/struct_m_utils_1_1_o_s_1_1_version_1_1__os__version__t-members.html
docs/d5/dfe/class_m_utils_1_1_i_p_c_channel.html
docs/d6/d83/_update_checker_8h_source.html
docs/d6/ddd/_terminal_8h_source.html
docs/d7/d73/_translation_8h_source.html
docs/d7/dee/class_m_utils_1_1_i_p_c_channel-members.html
docs/da/d35/class_m_utils_1_1_registry_1_1_registry_key.html
docs/da/d5d/_g_u_i_8h_source.html
docs/dc/d55/struct_m_utils_1_1_o_s_1_1_version_1_1__os__version__t.html
docs/dc/db3/class_m_utils_1_1_registry_1_1_registry_key-members.html
docs/dc/dd3/class_m_utils_1_1_job_object.html
docs/dc/df9/class_m_utils_1_1_hash_1_1_blake2-members.html
docs/dd/d9f/class_m_utils_1_1_hash_1_1_keccak.html
docs/dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html
docs/dd/dea/_hash___keccak_8h_source.html
docs/df/d98/_exception_8h_source.html
docs/dir_b076b53667bc06ebb413a190e197fc7b.html
docs/dir_d44c64559bbebec7f509842c48db8b23.html
docs/files.html
docs/hierarchy.html
docs/index.html
docs/search/all_7.js
docs/search/all_9.js
docs/search/all_b.js
docs/search/functions_1.js
docs/search/functions_3.js
docs/search/functions_4.html [new file with mode: 0644]
docs/search/functions_4.js [new file with mode: 0644]
docs/search/searchdata.js
include/MUtils/Global.h

index b5cb1ec..0191c9d 100644 (file)
@@ -90,7 +90,7 @@ $(function() {
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 590950f..ea51ae1 100644 (file)
@@ -90,7 +90,7 @@ $(function() {
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 001ff79..7a5d16f 100644 (file)
@@ -158,7 +158,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>testKnownHosts</b> (v
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 2d7bb06..be549e6 100644 (file)
@@ -73,7 +73,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 5aa184e..26e338c 100644 (file)
@@ -104,7 +104,7 @@ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>bitsAvailable
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index c268d03..b8fc95c 100644 (file)
@@ -92,7 +92,7 @@ QByteArray&#160;</td><td class="memItemRight" valign="bottom"><b>finalize</b> (c
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 2d5725b..5faa66c 100644 (file)
@@ -77,7 +77,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 2165272..996eeb6 100644 (file)
@@ -73,7 +73,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index be78ace..9dc5571 100644 (file)
@@ -114,7 +114,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>UpdateChecker</b></t
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 00fbf8a..59c176b 100644 (file)
@@ -104,7 +104,7 @@ static const char *const&#160;</td><td class="memItemRight" valign="bottom"><b>c
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 3f0698b..dc13245 100644 (file)
@@ -73,7 +73,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index fc68b1e..4684263 100644 (file)
@@ -73,7 +73,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index e9a9d70..d3cb152 100644 (file)
@@ -88,7 +88,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index d8f45ef..b8b7865 100644 (file)
@@ -82,7 +82,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 7337dac..eb9802d 100644 (file)
@@ -72,7 +72,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 5774247..d21570d 100644 (file)
@@ -106,7 +106,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>setOverlayIcon</b> (c
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 50a49cc..b3c0243 100644 (file)
@@ -96,7 +96,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 400d9b0..ab5e4c8 100644 (file)
@@ -73,7 +73,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index abfe064..b35a5a7 100644 (file)
@@ -84,7 +84,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 09d61ff..2fd653c 100644 (file)
@@ -81,7 +81,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 0d3f280..6c59cb4 100644 (file)
@@ -81,7 +81,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 4949ea3..23d6d4f 100644 (file)
@@ -73,7 +73,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 87a6061..f7aebf7 100644 (file)
@@ -73,7 +73,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index b7bf94b..0c9de67 100644 (file)
@@ -84,7 +84,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index f576c14..7d69977 100644 (file)
@@ -72,7 +72,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 1d416fc..aa12a30 100644 (file)
@@ -73,7 +73,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index d421f79..a00fe09 100644 (file)
@@ -142,26 +142,26 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::init_process<
 <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="memitem:a12259acdd6aff74ee83819d3aebd8ba9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a12259acdd6aff74ee83819d3aebd8ba9">MUtils::remove_file</a> (const QString &amp;fileName)</td></tr>
+<tr class="memdesc:a12259acdd6aff74ee83819d3aebd8ba9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the specified file.  <a href="../../d5/d3b/_global_8h.html#a12259acdd6aff74ee83819d3aebd8ba9">More...</a><br /></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="memitem:ac7d2c9bd5c49230b2fed72e3410c3f7d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#ac7d2c9bd5c49230b2fed72e3410c3f7d">MUtils::remove_directory</a> (const QString &amp;folderPath, const bool &amp;recursive)</td></tr>
+<tr class="memdesc:ac7d2c9bd5c49230b2fed72e3410c3f7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively deletes the specified directory.  <a href="../../d5/d3b/_global_8h.html#ac7d2c9bd5c49230b2fed72e3410c3f7d">More...</a><br /></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="memitem:a9290a3fe637a05ad2a7515f36fad79bd"><td class="memItemLeft" align="right" valign="top">QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a9290a3fe637a05ad2a7515f36fad79bd">MUtils::trim_right</a> (QString &amp;str)</td></tr>
+<tr class="memdesc:a9290a3fe637a05ad2a7515f36fad79bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="../../d5/d3b/_global_8h.html#a9290a3fe637a05ad2a7515f36fad79bd">More...</a><br /></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="memitem:af089c8a40b6ec2e19db3fe612aa81c8c"><td class="memItemLeft" align="right" valign="top">QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#af089c8a40b6ec2e19db3fe612aa81c8c">MUtils::trim_left</a> (QString &amp;str)</td></tr>
+<tr class="memdesc:af089c8a40b6ec2e19db3fe612aa81c8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>leading</em> white-space characters.  <a href="../../d5/d3b/_global_8h.html#af089c8a40b6ec2e19db3fe612aa81c8c">More...</a><br /></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="memitem:a3eb47d6ca49b2700622e3fe99faf14d8"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a3eb47d6ca49b2700622e3fe99faf14d8">MUtils::trim_right</a> (const QString &amp;str)</td></tr>
+<tr class="memdesc:a3eb47d6ca49b2700622e3fe99faf14d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="../../d5/d3b/_global_8h.html#a3eb47d6ca49b2700622e3fe99faf14d8">More...</a><br /></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="memitem:a8680aeaeb1118353bd099e26ba7d6123"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a8680aeaeb1118353bd099e26ba7d6123">MUtils::trim_left</a> (const QString &amp;str)</td></tr>
+<tr class="memdesc:a8680aeaeb1118353bd099e26ba7d6123"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="../../d5/d3b/_global_8h.html#a8680aeaeb1118353bd099e26ba7d6123">More...</a><br /></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="memitem:a09e919d419ded903481cf7aba702dcba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a09e919d419ded903481cf7aba702dcba">MUtils::natural_string_sort</a> (QStringList &amp;list, const bool bIgnoreCase)</td></tr>
+<tr class="memdesc:a09e919d419ded903481cf7aba702dcba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort a list of strings using "natural ordering" algorithm.  <a href="../../d5/d3b/_global_8h.html#a09e919d419ded903481cf7aba702dcba">More...</a><br /></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>
@@ -284,6 +284,43 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::Internal::self
 
 </div>
 </div>
+<a id="file_a09e919d419ded903481cf7aba702dcba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#file_a09e919d419ded903481cf7aba702dcba">&sect;&nbsp;</a></span>natural_string_sort()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void MUtils::natural_string_sort </td>
+          <td>(</td>
+          <td class="paramtype">QStringList &amp;&#160;</td>
+          <td class="paramname"><em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const bool&#160;</td>
+          <td class="paramname"><em>bIgnoreCase</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sort a list of strings using "natural ordering" algorithm. </p>
+<p>This function implements a sort algorithm that orders alphanumeric strings in the way a human being would. See <a href="http://sourcefrog.net/projects/natsort/"><em>Natural Order String Comparison</em></a> for details!</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">list</td><td>A reference to the QStringList object to be sorted. The list will be sorted "in place". </td></tr>
+  </table>
+  </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>
 
@@ -383,6 +420,73 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::Internal::self
 
 </div>
 </div>
+<a id="file_ac7d2c9bd5c49230b2fed72e3410c3f7d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#file_ac7d2c9bd5c49230b2fed72e3410c3f7d">&sect;&nbsp;</a></span>remove_directory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool MUtils::remove_directory </td>
+          <td>(</td>
+          <td class="paramtype">const QString &amp;&#160;</td>
+          <td class="paramname"><em>folderPath</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const bool &amp;&#160;</td>
+          <td class="paramname"><em>recursive</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Recursively deletes the specified directory. </p>
+<p>The function deletes the specified directory. In <em>recusive</em> mode, the directory will be removed including all of its files and sub-directories. Files are deleted using the <code><a class="el" href="../../d5/d3b/_global_8h.html#a12259acdd6aff74ee83819d3aebd8ba9" title="Deletes the specified file. ">remove_file()</a></code> function.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">folderPath</td><td>The path to the directory to be deleted. This should be a full path.</td></tr>
+    <tr><td class="paramname">recursive</td><td>If set to <code>true</code> the function removes all files and sub-directories in the specified directory; if set to <code>false</code>, the function will <em>not</em> try to delete any files or sub-directories, which means that it will fail on non-empty directories.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The function returns <code>true</code>, if the directory was deleted successfully or if the directory doesn't exist; it returns <code>false</code>, if the directory could <em>not</em> be deleted. </dd></dl>
+
+</div>
+</div>
+<a id="file_a12259acdd6aff74ee83819d3aebd8ba9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#file_a12259acdd6aff74ee83819d3aebd8ba9">&sect;&nbsp;</a></span>remove_file()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool MUtils::remove_file </td>
+          <td>(</td>
+          <td class="paramtype">const QString &amp;&#160;</td>
+          <td class="paramname"><em>fileName</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Deletes the specified file. </p>
+<p>The function deletes the specified file, even if it has the "read only" flag set. If the file is currently locked (e.g. by another process), the function retries multiple times to delete the file before it fails.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">fileName</td><td>The path to the file to be deleted. This should be a full path.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The function returns <code>true</code>, if the file was deleted successfully or if the file doesn't exist; it returns <code>false</code>, if the file could <em>not</em> be deleted. </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>
 
@@ -400,15 +504,127 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>MUtils::Internal::self
 </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>
+<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>
 
 </div>
 </div>
+<a id="file_af089c8a40b6ec2e19db3fe612aa81c8c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#file_af089c8a40b6ec2e19db3fe612aa81c8c">&sect;&nbsp;</a></span>trim_left() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">QString&amp; MUtils::trim_left </td>
+          <td>(</td>
+          <td class="paramtype">QString &amp;&#160;</td>
+          <td class="paramname"><em>str</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Remove <em>leading</em> white-space characters. </p>
+<p>The function removes all <em>leading</em> white-space characters from the specified string. Trailing white-space characters are <em>not</em> removed. White-space characters are defined by the <code>\s</code> character class.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">str</td><td>A reference to the QString object to be trimmed. This QString object will be modified directly.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A reference to the trimmed QString object. This is the same QString object that was specified in the <code>str</code> parameter. </dd></dl>
+
+</div>
+</div>
+<a id="file_a8680aeaeb1118353bd099e26ba7d6123"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#file_a8680aeaeb1118353bd099e26ba7d6123">&sect;&nbsp;</a></span>trim_left() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">QString MUtils::trim_left </td>
+          <td>(</td>
+          <td class="paramtype">const QString &amp;&#160;</td>
+          <td class="paramname"><em>str</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Remove <em>trailing</em> white-space characters. </p>
+<p>The function removes all <em>leading</em> white-space characters from the specified string. Trailing white-space characters are <em>not</em> removed. White-space characters are defined by the <code>\s</code> character class.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">str</td><td>A read-only reference to the QString object to be trimmed. The original QString object is <em>not</em> modified.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new QString object that equals the original QString object, except that it has all <em>leading</em> white-space characters removed. </dd></dl>
+
+</div>
+</div>
+<a id="file_a9290a3fe637a05ad2a7515f36fad79bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#file_a9290a3fe637a05ad2a7515f36fad79bd">&sect;&nbsp;</a></span>trim_right() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">QString&amp; MUtils::trim_right </td>
+          <td>(</td>
+          <td class="paramtype">QString &amp;&#160;</td>
+          <td class="paramname"><em>str</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Remove <em>trailing</em> white-space characters. </p>
+<p>The function removes all <em>trailing</em> white-space characters from the specified string. Leading white-space characters are <em>not</em> removed. White-space characters are defined by the <code>\s</code> character class.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">str</td><td>A reference to the QString object to be trimmed. This QString object will be modified directly.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A reference to the trimmed QString object. This is the same QString object that was specified in the <code>str</code> parameter. </dd></dl>
+
+</div>
+</div>
+<a id="file_a3eb47d6ca49b2700622e3fe99faf14d8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#file_a3eb47d6ca49b2700622e3fe99faf14d8">&sect;&nbsp;</a></span>trim_right() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">QString MUtils::trim_right </td>
+          <td>(</td>
+          <td class="paramtype">const QString &amp;&#160;</td>
+          <td class="paramname"><em>str</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Remove <em>trailing</em> white-space characters. </p>
+<p>The function removes all <em>trailing</em> white-space characters from the specified string. Leading white-space characters are <em>not</em> removed. White-space characters are defined by the <code>\s</code> character class.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">str</td><td>A read-only reference to the QString object to be trimmed. The original QString object is <em>not</em> modified.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new QString object that equals the original QString object, except that it has all <em>trailing</em> white-space characters removed. </dd></dl>
+
+</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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 9fa4646..a6e5a30 100644 (file)
@@ -67,18 +67,23 @@ $(function() {
 <div class="title">Global.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="../../d5/d3b/_global_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// MuldeR&#39;s Utilities for Qt</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Copyright (C) 2004-2016 LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// http://www.gnu.org/licenses/lgpl-2.1.txt</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;QString&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">//Forward Declarations</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">class </span>QProcess;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">//MUtils API</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#   ifdef MUTILS_DLL_EXPORT</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#       define MUTILS_API __declspec(dllexport)</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#   else</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#       ifndef MUTILS_STATIC_LIB</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#           define MUTILS_API __declspec(dllimport)</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#       else</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#           define MUTILS_API </span><span class="comment">/*static lib*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#       endif</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#   endif</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#   define MUTILS_API</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">//Helper Macros</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MUTILS_MAKE_STRING_HELPER(X) #X</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define MUTILS_MAKE_STRING(X) MUTILS_MAKE_STRING_HELPER(X)</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define MUTILS_COMPILER_WARNING(TXT) __pragma(message(__FILE__ &quot;(&quot; MUTILS_MAKE_STRING(__LINE__) &quot;) : warning: &quot; TXT))</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">//Check Debug Flags</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#if defined(_DEBUG) || defined(DEBUG) || (!defined(NDEBUG))</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#   define MUTILS_DEBUG (1)</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#   if defined(NDEBUG) || defined(QT_NO_DEBUG) || (!defined(QT_DEBUG))</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#       error Inconsistent DEBUG flags have been detected!</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#   endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#   define MUTILS_DEBUG (0)</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#   if (!defined(NDEBUG)) || (!defined(QT_NO_DEBUG)) || defined(QT_DEBUG)</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#       error Inconsistent DEBUG flags have been detected!</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#   endif</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">//Check CPU options</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; (!defined(__INTELLISENSE__)) &amp;&amp; (!defined(_M_X64)) &amp;&amp; defined(_M_IX86_FP)</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">    #if (_M_IX86_FP != 0)</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">        #error We should not enabled SSE or SSE2 in release builds!</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">    #endif</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">namespace </span><a class="code" href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;{</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    MUTILS_API <span class="keyword">const</span> QString&amp; <a class="code" href="../../d5/d3b/_global_8h.html#a9ddb9a2039585b1ef3429db16ea84292">temp_folder</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="comment">//Process Utils</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    MUTILS_API <span class="keywordtype">void</span> init_process(QProcess &amp;process, <span class="keyword">const</span> QString &amp;wokringDir, <span class="keyword">const</span> <span class="keywordtype">bool</span> bReplaceTempDir = <span class="keyword">true</span>, <span class="keyword">const</span> QStringList *<span class="keyword">const</span> extraPaths = NULL);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    MUTILS_API quint32 <a class="code" href="../../d5/d3b/_global_8h.html#a4dc7dccb81653ae28e0d37a7c2f62112">next_rand_u32</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    </div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    MUTILS_API quint64 <a class="code" href="../../d5/d3b/_global_8h.html#a15762bf5b0239e5f67a3815d63ed441a">next_rand_u64</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    </div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    MUTILS_API QString <a class="code" href="../../d5/d3b/_global_8h.html#a996b60884ddf7728178e94f34ca12570">next_rand_str</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> &amp;bLong = <span class="keyword">false</span>);</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    MUTILS_API QString <a class="code" href="../../d5/d3b/_global_8h.html#a67cb16c62b213da5135a6fa076f3f005">make_temp_file</a>(<span class="keyword">const</span> QString &amp;basePath, <span class="keyword">const</span> QString &amp;extension, <span class="keyword">const</span> <span class="keywordtype">bool</span> placeholder = <span class="keyword">false</span>);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    MUTILS_API QString <a class="code" href="../../d5/d3b/_global_8h.html#a390e56e35eb9329d2e67fa9741d07536">make_unique_file</a>(<span class="keyword">const</span> QString &amp;basePath, <span class="keyword">const</span> QString &amp;baseName, <span class="keyword">const</span> QString &amp;extension, <span class="keyword">const</span> <span class="keywordtype">bool</span> fancy = <span class="keyword">false</span>);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> <a class="code" href="../../d5/d3b/_global_8h.html#ad1bdb5e416839b1f85f6df68e58ae28c">parity</a>(quint32 value);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="comment">//Remove File/Dir</span></div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> remove_file(<span class="keyword">const</span> QString &amp;fileName);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> remove_directory(<span class="keyword">const</span> QString &amp;folderPath, <span class="keyword">const</span> <span class="keywordtype">bool</span> &amp;recursive);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="comment">//String utils</span></div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    MUTILS_API QString&amp; trim_right(QString &amp;str);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    MUTILS_API QString&amp; trim_left(QString &amp;str);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    MUTILS_API QString trim_right(<span class="keyword">const</span> QString &amp;str);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    MUTILS_API QString trim_left(<span class="keyword">const</span> QString &amp;str);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="comment">//String sorting</span></div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    MUTILS_API <span class="keywordtype">void</span> natural_string_sort(QStringList &amp;list, <span class="keyword">const</span> <span class="keywordtype">bool</span> bIgnoreCase);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="comment">//Clean file path</span></div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    MUTILS_API QString clean_file_name(<span class="keyword">const</span> QString &amp;name);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    MUTILS_API QString clean_file_path(<span class="keyword">const</span> QString &amp;path);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="comment">//Regular expressions</span></div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> regexp_parse_uint32(<span class="keyword">const</span> QRegExp &amp;regexp, quint32 &amp;value);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> regexp_parse_uint32(<span class="keyword">const</span> QRegExp &amp;regexp, quint32 *values, <span class="keyword">const</span> <span class="keywordtype">size_t</span> &amp;count);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="comment">//Internationalization</span></div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    MUTILS_API QStringList available_codepages(<span class="keyword">const</span> <span class="keywordtype">bool</span> &amp;noAliases = <span class="keyword">true</span>);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="comment">//Internal</span></div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="keyword">namespace </span>Internal</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    {</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        MUTILS_API <span class="keywordtype">int</span> selfTest(<span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> buildKey, <span class="keyword">const</span> <span class="keywordtype">bool</span> debug);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> s_selfTest = selfTest(__DATE__ <span class="stringliteral">&quot;@&quot;</span> __TIME__, MUTILS_DEBUG);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    }</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;}</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="comment">//Delete helper</span></div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">#define MUTILS_DELETE(PTR) do { if((PTR)) { delete (PTR); (PTR) = NULL; } } while(0)</span></div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">#define MUTILS_DELETE_ARRAY(PTR) do { if((PTR)) { delete [] (PTR); (PTR) = NULL; } } while(0)</span></div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="comment">//Zero memory</span></div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">#define MUTILS_ZERO_MEMORY(PTR) memset(&amp;(PTR), 0, sizeof((PTR)))</span></div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="comment">//String conversion macros</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#define MUTILS_WCHR(STR) (reinterpret_cast&lt;const wchar_t*&gt;((STR).utf16()))</span></div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor">#define MUTILS_UTF8(STR) ((STR).toUtf8().constData())</span></div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">#define MUTILS_QSTR(STR) (QString::fromUtf16(reinterpret_cast&lt;const unsigned short*&gt;((STR))))</span></div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="comment">//Boolean helper</span></div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#define MUTILS_BOOL2STR(X) ((X) ? &quot;1&quot; : &quot;0&quot;)</span></div><div class="ttc" id="_global_8h_html_a4dc7dccb81653ae28e0d37a7c2f62112"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a4dc7dccb81653ae28e0d37a7c2f62112">MUtils::next_rand_u32</a></div><div class="ttdeci">quint32 next_rand_u32(void)</div><div class="ttdoc">Generates a random unsigned 32-Bit value. </div></div>
+<a href="../../d5/d3b/_global_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// MuldeR&#39;s Utilities for Qt</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Copyright (C) 2004-2016 LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// http://www.gnu.org/licenses/lgpl-2.1.txt</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;QString&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">//Forward Declarations</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">class </span>QProcess;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">//MUtils API</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#   ifdef MUTILS_DLL_EXPORT</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#       define MUTILS_API __declspec(dllexport)</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#   else</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#       ifndef MUTILS_STATIC_LIB</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#           define MUTILS_API __declspec(dllimport)</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#       else</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#           define MUTILS_API </span><span class="comment">/*static lib*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#       endif</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#   endif</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#   define MUTILS_API</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">//Helper Macros</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MUTILS_MAKE_STRING_HELPER(X) #X</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define MUTILS_MAKE_STRING(X) MUTILS_MAKE_STRING_HELPER(X)</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define MUTILS_COMPILER_WARNING(TXT) __pragma(message(__FILE__ &quot;(&quot; MUTILS_MAKE_STRING(__LINE__) &quot;) : warning: &quot; TXT))</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">//Check Debug Flags</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#if defined(_DEBUG) || defined(DEBUG) || (!defined(NDEBUG))</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#   define MUTILS_DEBUG (1)</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#   if defined(NDEBUG) || defined(QT_NO_DEBUG) || (!defined(QT_DEBUG))</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#       error Inconsistent DEBUG flags have been detected!</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#   endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#   define MUTILS_DEBUG (0)</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#   if (!defined(NDEBUG)) || (!defined(QT_NO_DEBUG)) || defined(QT_DEBUG)</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#       error Inconsistent DEBUG flags have been detected!</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#   endif</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">//Check CPU options</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; (!defined(__INTELLISENSE__)) &amp;&amp; (!defined(_M_X64)) &amp;&amp; defined(_M_IX86_FP)</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">    #if (_M_IX86_FP != 0)</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">        #error We should not enabled SSE or SSE2 in release builds!</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">    #endif</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">namespace </span><a class="code" href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;{</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    MUTILS_API <span class="keyword">const</span> QString&amp; <a class="code" href="../../d5/d3b/_global_8h.html#a9ddb9a2039585b1ef3429db16ea84292">temp_folder</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="comment">//Process Utils</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    MUTILS_API <span class="keywordtype">void</span> init_process(QProcess &amp;process, <span class="keyword">const</span> QString &amp;wokringDir, <span class="keyword">const</span> <span class="keywordtype">bool</span> bReplaceTempDir = <span class="keyword">true</span>, <span class="keyword">const</span> QStringList *<span class="keyword">const</span> extraPaths = NULL);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    MUTILS_API quint32 <a class="code" href="../../d5/d3b/_global_8h.html#a4dc7dccb81653ae28e0d37a7c2f62112">next_rand_u32</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    </div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    MUTILS_API quint64 <a class="code" href="../../d5/d3b/_global_8h.html#a15762bf5b0239e5f67a3815d63ed441a">next_rand_u64</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    </div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    MUTILS_API QString <a class="code" href="../../d5/d3b/_global_8h.html#a996b60884ddf7728178e94f34ca12570">next_rand_str</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> &amp;bLong = <span class="keyword">false</span>);</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    MUTILS_API QString <a class="code" href="../../d5/d3b/_global_8h.html#a67cb16c62b213da5135a6fa076f3f005">make_temp_file</a>(<span class="keyword">const</span> QString &amp;basePath, <span class="keyword">const</span> QString &amp;extension, <span class="keyword">const</span> <span class="keywordtype">bool</span> placeholder = <span class="keyword">false</span>);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    MUTILS_API QString <a class="code" href="../../d5/d3b/_global_8h.html#a390e56e35eb9329d2e67fa9741d07536">make_unique_file</a>(<span class="keyword">const</span> QString &amp;basePath, <span class="keyword">const</span> QString &amp;baseName, <span class="keyword">const</span> QString &amp;extension, <span class="keyword">const</span> <span class="keywordtype">bool</span> fancy = <span class="keyword">false</span>);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> <a class="code" href="../../d5/d3b/_global_8h.html#ad1bdb5e416839b1f85f6df68e58ae28c">parity</a>(quint32 value);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> <a class="code" href="../../d5/d3b/_global_8h.html#a12259acdd6aff74ee83819d3aebd8ba9">remove_file</a>(<span class="keyword">const</span> QString &amp;fileName);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> <a class="code" href="../../d5/d3b/_global_8h.html#ac7d2c9bd5c49230b2fed72e3410c3f7d">remove_directory</a>(<span class="keyword">const</span> QString &amp;folderPath, <span class="keyword">const</span> <span class="keywordtype">bool</span> &amp;recursive);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    MUTILS_API QString&amp; <a class="code" href="../../d5/d3b/_global_8h.html#a9290a3fe637a05ad2a7515f36fad79bd">trim_right</a>(QString &amp;str);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    MUTILS_API QString&amp; <a class="code" href="../../d5/d3b/_global_8h.html#af089c8a40b6ec2e19db3fe612aa81c8c">trim_left</a>(QString &amp;str);</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    MUTILS_API QString <a class="code" href="../../d5/d3b/_global_8h.html#a9290a3fe637a05ad2a7515f36fad79bd">trim_right</a>(<span class="keyword">const</span> QString &amp;str);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    MUTILS_API QString <a class="code" href="../../d5/d3b/_global_8h.html#af089c8a40b6ec2e19db3fe612aa81c8c">trim_left</a>(<span class="keyword">const</span> QString &amp;str);</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    MUTILS_API <span class="keywordtype">void</span> <a class="code" href="../../d5/d3b/_global_8h.html#a09e919d419ded903481cf7aba702dcba">natural_string_sort</a>(QStringList &amp;list, <span class="keyword">const</span> <span class="keywordtype">bool</span> bIgnoreCase);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="comment">//Clean file path</span></div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    MUTILS_API QString clean_file_name(<span class="keyword">const</span> QString &amp;name);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    MUTILS_API QString clean_file_path(<span class="keyword">const</span> QString &amp;path);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <span class="comment">//Regular expressions</span></div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> regexp_parse_uint32(<span class="keyword">const</span> QRegExp &amp;regexp, quint32 &amp;value);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    MUTILS_API <span class="keywordtype">bool</span> regexp_parse_uint32(<span class="keyword">const</span> QRegExp &amp;regexp, quint32 *values, <span class="keyword">const</span> <span class="keywordtype">size_t</span> &amp;count);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="comment">//Internationalization</span></div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    MUTILS_API QStringList available_codepages(<span class="keyword">const</span> <span class="keywordtype">bool</span> &amp;noAliases = <span class="keyword">true</span>);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="comment">//Internal</span></div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="keyword">namespace </span>Internal</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    {</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        MUTILS_API <span class="keywordtype">int</span> selfTest(<span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> buildKey, <span class="keyword">const</span> <span class="keywordtype">bool</span> debug);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> s_selfTest = selfTest(__DATE__ <span class="stringliteral">&quot;@&quot;</span> __TIME__, MUTILS_DEBUG);</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    }</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;}</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="comment">//Delete helper</span></div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">#define MUTILS_DELETE(PTR) do { if((PTR)) { delete (PTR); (PTR) = NULL; } } while(0)</span></div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">#define MUTILS_DELETE_ARRAY(PTR) do { if((PTR)) { delete [] (PTR); (PTR) = NULL; } } while(0)</span></div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="comment">//Zero memory</span></div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">#define MUTILS_ZERO_MEMORY(PTR) memset(&amp;(PTR), 0, sizeof((PTR)))</span></div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="comment">//String conversion macros</span></div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#define MUTILS_WCHR(STR) (reinterpret_cast&lt;const wchar_t*&gt;((STR).utf16()))</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor">#define MUTILS_UTF8(STR) ((STR).toUtf8().constData())</span></div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#define MUTILS_QSTR(STR) (QString::fromUtf16(reinterpret_cast&lt;const unsigned short*&gt;((STR))))</span></div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="comment">//Boolean helper</span></div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">#define MUTILS_BOOL2STR(X) ((X) ? &quot;1&quot; : &quot;0&quot;)</span></div><div class="ttc" id="_global_8h_html_a12259acdd6aff74ee83819d3aebd8ba9"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a12259acdd6aff74ee83819d3aebd8ba9">MUtils::remove_file</a></div><div class="ttdeci">bool remove_file(const QString &amp;fileName)</div><div class="ttdoc">Deletes the specified file. </div></div>
+<div class="ttc" id="_global_8h_html_a4dc7dccb81653ae28e0d37a7c2f62112"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a4dc7dccb81653ae28e0d37a7c2f62112">MUtils::next_rand_u32</a></div><div class="ttdeci">quint32 next_rand_u32(void)</div><div class="ttdoc">Generates a random unsigned 32-Bit value. </div></div>
 <div class="ttc" id="_global_8h_html_ad1bdb5e416839b1f85f6df68e58ae28c"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#ad1bdb5e416839b1f85f6df68e58ae28c">MUtils::parity</a></div><div class="ttdeci">bool parity(quint32 value)</div><div class="ttdoc">Computes the parity of the given unsigned 32-Bit value. </div></div>
 <div class="ttc" id="_global_8h_html_a390e56e35eb9329d2e67fa9741d07536"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a390e56e35eb9329d2e67fa9741d07536">MUtils::make_unique_file</a></div><div class="ttdeci">QString make_unique_file(const QString &amp;basePath, const QString &amp;baseName, const QString &amp;extension, const bool fancy=false)</div><div class="ttdoc">Generates a unique file name. </div></div>
 <div class="ttc" id="_global_8h_html_a9ddb9a2039585b1ef3429db16ea84292"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a9ddb9a2039585b1ef3429db16ea84292">MUtils::temp_folder</a></div><div class="ttdeci">const QString &amp; temp_folder(void)</div><div class="ttdoc">Rerieves the full path of the application&amp;#39;s Temp folder. </div></div>
 <div class="ttc" id="namespace_m_utils_html"><div class="ttname"><a href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="ttdef"><b>Definition:</b> CPUFeatures.h:30</div></div>
 <div class="ttc" id="_global_8h_html_a996b60884ddf7728178e94f34ca12570"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a996b60884ddf7728178e94f34ca12570">MUtils::next_rand_str</a></div><div class="ttdeci">QString next_rand_str(const bool &amp;bLong=false)</div><div class="ttdoc">Generates a random string. </div></div>
 <div class="ttc" id="_global_8h_html_a67cb16c62b213da5135a6fa076f3f005"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a67cb16c62b213da5135a6fa076f3f005">MUtils::make_temp_file</a></div><div class="ttdeci">QString make_temp_file(const QString &amp;basePath, const QString &amp;extension, const bool placeholder=false)</div><div class="ttdoc">Generates a temporary file name. </div></div>
+<div class="ttc" id="_global_8h_html_ac7d2c9bd5c49230b2fed72e3410c3f7d"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#ac7d2c9bd5c49230b2fed72e3410c3f7d">MUtils::remove_directory</a></div><div class="ttdeci">bool remove_directory(const QString &amp;folderPath, const bool &amp;recursive)</div><div class="ttdoc">Recursively deletes the specified directory. </div></div>
+<div class="ttc" id="_global_8h_html_a9290a3fe637a05ad2a7515f36fad79bd"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a9290a3fe637a05ad2a7515f36fad79bd">MUtils::trim_right</a></div><div class="ttdeci">QString &amp; trim_right(QString &amp;str)</div><div class="ttdoc">Remove trailing white-space characters. </div></div>
+<div class="ttc" id="_global_8h_html_a09e919d419ded903481cf7aba702dcba"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a09e919d419ded903481cf7aba702dcba">MUtils::natural_string_sort</a></div><div class="ttdeci">void natural_string_sort(QStringList &amp;list, const bool bIgnoreCase)</div><div class="ttdoc">Sort a list of strings using &quot;natural ordering&quot; algorithm. </div></div>
+<div class="ttc" id="_global_8h_html_af089c8a40b6ec2e19db3fe612aa81c8c"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#af089c8a40b6ec2e19db3fe612aa81c8c">MUtils::trim_left</a></div><div class="ttdeci">QString &amp; trim_left(QString &amp;str)</div><div class="ttdoc">Remove leading white-space characters. </div></div>
 <div class="ttc" id="_global_8h_html_a15762bf5b0239e5f67a3815d63ed441a"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a15762bf5b0239e5f67a3815d63ed441a">MUtils::next_rand_u64</a></div><div class="ttdeci">quint64 next_rand_u64(void)</div><div class="ttdoc">Generates a random unsigned 64-Bit value. </div></div>
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 320cddc..9f09146 100644 (file)
@@ -72,7 +72,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index f9744d7..8fe40d3 100644 (file)
@@ -84,7 +84,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index d5cbc43..3e42b6f 100644 (file)
@@ -112,7 +112,7 @@ static const quint32&#160;</td><td class="memItemRight" valign="bottom"><b>MAX_P
 </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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 6cfb7ac..36e70ff 100644 (file)
@@ -74,7 +74,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index a55b37f..3cabde2 100644 (file)
@@ -72,7 +72,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index f32c471..ee273bb 100644 (file)
@@ -72,7 +72,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 8411fa9..41fc356 100644 (file)
@@ -85,7 +85,7 @@ $(function() {
 </table></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index c89107d..5b72fd3 100644 (file)
@@ -104,7 +104,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>enum_subkeys</b> (QSt
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index af99005..d98de3c 100644 (file)
@@ -72,7 +72,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index e372e90..9c22a68 100644 (file)
@@ -117,7 +117,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>overrideFlag</b></td>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 8e116d8..48b31b2 100644 (file)
@@ -82,7 +82,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 426fb74..3b49be7 100644 (file)
@@ -86,7 +86,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>terminateJob</b> (uns
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index cd0cbf5..f3e5ccb 100644 (file)
@@ -78,7 +78,7 @@ $(function() {
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index ae090b6..247a79b 100644 (file)
@@ -122,7 +122,7 @@ QByteArray&#160;</td><td class="memItemRight" valign="bottom"><b>m_hashResult</b
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 20573e1..2496937 100644 (file)
@@ -107,7 +107,7 @@ char&#160;</td><td class="memItemRight" valign="bottom"><b>brand</b> [0x40]</td>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index b10e3bf..59a52dd 100644 (file)
@@ -74,7 +74,7 @@ $(function() {
 </div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 71d8fb6..d7e6170 100644 (file)
@@ -70,7 +70,7 @@ $(function() {
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// MuldeR&#39;s Utilities for Qt</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Copyright (C) 2004-2016 LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// http://www.gnu.org/licenses/lgpl-2.1.txt</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define MUTILS_PRINT_ERROR(FORMAT, ...) do \</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">{ \</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">    fflush(stdout); \</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">    fprintf(stderr, (FORMAT), __VA_ARGS__); \</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">    fflush(stderr); \</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">} \</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">while(0)</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define MUTILS_EXCEPTION_HANDLER(COMMAND) do \</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">{ \</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">    try \</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">        do { COMMAND; } while(0); \</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">    } \</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">    catch(const std::exception &amp;error) \</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">        MUTILS_PRINT_ERROR(&quot;\nGURU MEDITATION !!!\n\nException error:\n%s\n&quot;, error.what()); \</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">        MUtils::OS::fatal_exit(L&quot;Unhandeled C++ exception error, application will exit!&quot;); \</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">    } \</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">    catch(...) \</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">        MUTILS_PRINT_ERROR(&quot;\nGURU MEDITATION !!!\n\nUnknown exception error!\n&quot;); \</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">        MUtils::OS::fatal_exit(L&quot;Unhandeled C++ exception error, application will exit!&quot;); \</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">    } \</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">} \</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">while(0)</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define MUTILS_THROW(MESSAGE) do \</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">{ \</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">    throw std::runtime_error((MESSAGE)); \</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">} \</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">while(0)</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define MUTILS_THROW_FMT(MESSAGE, ...) do \</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">{ \</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">    char _message[256]; \</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">    _snprintf_s(_message, 256, _TRUNCATE, (MESSAGE), __VA_ARGS__); \</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">    throw std::runtime_error(_message); \</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">} \</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">while(0)</span></div></div><!-- fragment --></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 on Mon Dec 19 2016 01:56:27 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index cee192c..fc08296 100644 (file)
@@ -77,7 +77,7 @@ Files</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 0f48ed4..58f9ac4 100644 (file)
@@ -74,7 +74,7 @@ Directories</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 49886b0..b5dc624 100644 (file)
@@ -90,7 +90,7 @@ $(function() {
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 4ac2ef5..f50fc6f 100644 (file)
@@ -83,7 +83,7 @@ $(function() {
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 0091191..1837ab0 100644 (file)
@@ -73,7 +73,7 @@ $(function() {
 <div class="fragment"><div class="line">MUtilities - MuldeR<span class="stringliteral">&#39;s Utilities for Qt</span></div><div class="line"><span class="stringliteral">Copyright (C) 2004-2016 LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;. Some rights reserved.</span></div><div class="line"><span class="stringliteral"></span></div><div class="line"><span class="stringliteral">This library is free software; you can redistribute it and/or</span></div><div class="line"><span class="stringliteral">modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><span class="stringliteral">License as published by the Free Software Foundation; either</span></div><div class="line"><span class="stringliteral">version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><span class="stringliteral"></span></div><div class="line"><span class="stringliteral">This library is distributed in the hope that it will be useful,</span></div><div class="line"><span class="stringliteral">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><span class="stringliteral">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div><div class="line"><span class="stringliteral">Lesser General Public License for more details.</span></div><div class="line"><span class="stringliteral"></span></div><div class="line"><span class="stringliteral">You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><span class="stringliteral">License along with this library; if not, write to the Free Software</span></div><div class="line"><span class="stringliteral">Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.</span></div></div><!-- fragment --> </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Dec 18 2016 22:48:08 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Dec 19 2016 01:56:28 for MuldeR&#39;s Utilities for Qt by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.12
 </small></address>
index 9802c72..de939ce 100644 (file)
@@ -1,5 +1,6 @@
 var searchData=
 [
+  ['natural_5fstring_5fsort',['natural_string_sort',['../d5/d3b/_global_8h.html#a09e919d419ded903481cf7aba702dcba',1,'MUtils']]],
   ['next_5frand_5fstr',['next_rand_str',['../d5/d3b/_global_8h.html#a996b60884ddf7728178e94f34ca12570',1,'MUtils']]],
   ['next_5frand_5fu32',['next_rand_u32',['../d5/d3b/_global_8h.html#a4dc7dccb81653ae28e0d37a7c2f62112',1,'MUtils']]],
   ['next_5frand_5fu64',['next_rand_u64',['../d5/d3b/_global_8h.html#a15762bf5b0239e5f67a3815d63ed441a',1,'MUtils']]]
index 7bb19da..8f1fc88 100644 (file)
@@ -1,4 +1,6 @@
 var searchData=
 [
-  ['registrykey',['RegistryKey',['../da/d35/class_m_utils_1_1_registry_1_1_registry_key.html',1,'MUtils::Registry']]]
+  ['registrykey',['RegistryKey',['../da/d35/class_m_utils_1_1_registry_1_1_registry_key.html',1,'MUtils::Registry']]],
+  ['remove_5fdirectory',['remove_directory',['../d5/d3b/_global_8h.html#ac7d2c9bd5c49230b2fed72e3410c3f7d',1,'MUtils']]],
+  ['remove_5ffile',['remove_file',['../d5/d3b/_global_8h.html#a12259acdd6aff74ee83819d3aebd8ba9',1,'MUtils']]]
 ];
index 29027a0..aaed9d2 100644 (file)
@@ -1,5 +1,7 @@
 var searchData=
 [
   ['taskbar7',['Taskbar7',['../d2/d52/class_m_utils_1_1_taskbar7.html',1,'MUtils']]],
-  ['temp_5ffolder',['temp_folder',['../d5/d3b/_global_8h.html#a9ddb9a2039585b1ef3429db16ea84292',1,'MUtils']]]
+  ['temp_5ffolder',['temp_folder',['../d5/d3b/_global_8h.html#a9ddb9a2039585b1ef3429db16ea84292',1,'MUtils']]],
+  ['trim_5fleft',['trim_left',['../d5/d3b/_global_8h.html#af089c8a40b6ec2e19db3fe612aa81c8c',1,'MUtils::trim_left(QString &amp;str)'],['../d5/d3b/_global_8h.html#a8680aeaeb1118353bd099e26ba7d6123',1,'MUtils::trim_left(const QString &amp;str)']]],
+  ['trim_5fright',['trim_right',['../d5/d3b/_global_8h.html#a9290a3fe637a05ad2a7515f36fad79bd',1,'MUtils::trim_right(QString &amp;str)'],['../d5/d3b/_global_8h.html#a3eb47d6ca49b2700622e3fe99faf14d8',1,'MUtils::trim_right(const QString &amp;str)']]]
 ];
index 9802c72..de939ce 100644 (file)
@@ -1,5 +1,6 @@
 var searchData=
 [
+  ['natural_5fstring_5fsort',['natural_string_sort',['../d5/d3b/_global_8h.html#a09e919d419ded903481cf7aba702dcba',1,'MUtils']]],
   ['next_5frand_5fstr',['next_rand_str',['../d5/d3b/_global_8h.html#a996b60884ddf7728178e94f34ca12570',1,'MUtils']]],
   ['next_5frand_5fu32',['next_rand_u32',['../d5/d3b/_global_8h.html#a4dc7dccb81653ae28e0d37a7c2f62112',1,'MUtils']]],
   ['next_5frand_5fu64',['next_rand_u64',['../d5/d3b/_global_8h.html#a15762bf5b0239e5f67a3815d63ed441a',1,'MUtils']]]
index 2eced32..a2b89ea 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['temp_5ffolder',['temp_folder',['../d5/d3b/_global_8h.html#a9ddb9a2039585b1ef3429db16ea84292',1,'MUtils']]]
+  ['remove_5fdirectory',['remove_directory',['../d5/d3b/_global_8h.html#ac7d2c9bd5c49230b2fed72e3410c3f7d',1,'MUtils']]],
+  ['remove_5ffile',['remove_file',['../d5/d3b/_global_8h.html#a12259acdd6aff74ee83819d3aebd8ba9',1,'MUtils']]]
 ];
diff --git a/docs/search/functions_4.html b/docs/search/functions_4.html
new file mode 100644 (file)
index 0000000..9ae34ff
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.12"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js
new file mode 100644 (file)
index 0000000..f777269
--- /dev/null
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['temp_5ffolder',['temp_folder',['../d5/d3b/_global_8h.html#a9ddb9a2039585b1ef3429db16ea84292',1,'MUtils']]],
+  ['trim_5fleft',['trim_left',['../d5/d3b/_global_8h.html#af089c8a40b6ec2e19db3fe612aa81c8c',1,'MUtils::trim_left(QString &amp;str)'],['../d5/d3b/_global_8h.html#a8680aeaeb1118353bd099e26ba7d6123',1,'MUtils::trim_left(const QString &amp;str)']]],
+  ['trim_5fright',['trim_right',['../d5/d3b/_global_8h.html#a9290a3fe637a05ad2a7515f36fad79bd',1,'MUtils::trim_right(QString &amp;str)'],['../d5/d3b/_global_8h.html#a3eb47d6ca49b2700622e3fe99faf14d8',1,'MUtils::trim_right(const QString &amp;str)']]]
+];
index 42f2299..521e94e 100644 (file)
@@ -3,7 +3,7 @@ var indexSectionsWithContent =
   0: "_bgijkmnprstuv",
   1: "_bijkrstuv",
   2: "g",
-  3: "mnpt",
+  3: "mnprt",
   4: "m"
 };
 
index 9ba41fe..cd20c11 100644 (file)
@@ -116,7 +116,7 @@ namespace MUtils
        /**
        * \brief Rerieves the full path of the application's *Temp* folder.
        *
-       * The application's *Temp* 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 *Temp* folder will be created as a sub-folder of the system's global *Temp* folder, as indicated by the `TMP` or `TEMP` environment variables. However, it may be created at a different place(e.g. in the users *Profile* directory), if those environment variables don't point to a usable directory. In any case, this function makes sure that the application's *Temp* folder exists for the whole lifetime of the application and that it is writable. When the application is about to terminate, the application's *Temp* folder and all files or sub-directories thereof will be *removed* automatically!
+       * The application's *Temp* 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 *Temp* folder will be created as a sub-folder of the system's global *Temp* folder, as indicated by the `TMP` or `TEMP` environment variables. However, it may be created at a different place (e.g. in the users *Profile* directory), if those environment variables don't point to a usable directory. In any case, this function makes sure that the application's *Temp* folder exists for the whole lifetime of the application and that it is writable. When the application is about to terminate, the application's *Temp* folder and all files or sub-directories thereof will be *removed* automatically!
        *
        * \return If the function succeeds, it returns a read-only reference to a QString holding the full path of the application's *Temp* folder; otherwise a read-only reference to a default-constructed QString is returned.
        */
@@ -195,17 +195,81 @@ namespace MUtils
        */
        MUTILS_API bool parity(quint32 value);
 
-       //Remove File/Dir
+       /**
+       * \brief Deletes the specified file
+       *
+       * The function deletes the specified file, even if it has the "read only" flag set. If the file is currently locked (e.g. by another process), the function retries multiple times to delete the file before it fails.
+       *
+       * \param fileName The path to the file to be deleted. This should be a full path.
+       *
+       * \return The function returns `true`, if the file was deleted successfully or if the file doesn't exist; it returns `false`, if the file could *not* be deleted.
+       */
        MUTILS_API bool remove_file(const QString &fileName);
+
+       /**
+       * \brief Recursively deletes the specified directory
+       *
+       * The function deletes the specified directory. In *recusive* mode, the directory will be removed including all of its files and sub-directories. Files are deleted using the `remove_file()` function.
+       *
+       * \param folderPath The path to the directory to be deleted. This should be a full path.
+       *
+       * \param recursive If set to `true` the function removes all files and sub-directories in the specified directory; if set to `false`, the function will *not* try to delete any files or sub-directories, which means that it will fail on non-empty directories.
+       *
+       * \return The function returns `true`, if the directory was deleted successfully or if the directory doesn't exist; it returns `false`, if the directory could *not* be deleted.
+       */
        MUTILS_API bool remove_directory(const QString &folderPath, const bool &recursive);
 
-       //String utils
+       /**
+       * \brief Remove *trailing* white-space characters
+       *
+       * The function removes all *trailing* white-space characters from the specified string. Leading white-space characters are *not* removed. White-space characters are defined by the `\s` character class.
+       *
+       * \param str A reference to the QString object to be trimmed. This QString object will be modified directly.
+       *
+       * \return A reference to the trimmed QString object. This is the same QString object that was specified in the `str` parameter.
+       */
        MUTILS_API QString& trim_right(QString &str);
+
+       /**
+       * \brief Remove *leading* white-space characters
+       *
+       * The function removes all *leading* white-space characters from the specified string. Trailing white-space characters are *not* removed. White-space characters are defined by the `\s` character class.
+       *
+       * \param str A reference to the QString object to be trimmed. This QString object will be modified directly.
+       *
+       * \return A reference to the trimmed QString object. This is the same QString object that was specified in the `str` parameter.
+       */
        MUTILS_API QString& trim_left(QString &str);
+
+       /**
+       * \brief Remove *trailing* white-space characters
+       *
+       * The function removes all *trailing* white-space characters from the specified string. Leading white-space characters are *not* removed. White-space characters are defined by the `\s` character class.
+       *
+       * \param str A read-only reference to the QString object to be trimmed. The original QString object is *not* modified.
+       *
+       * \return A new QString object that equals the original QString object, except that it has all *trailing* white-space characters removed.
+       */
        MUTILS_API QString trim_right(const QString &str);
+
+       /**
+       * \brief Remove *trailing* white-space characters
+       *
+       * The function removes all *leading* white-space characters from the specified string. Trailing white-space characters are *not* removed. White-space characters are defined by the `\s` character class.
+       *
+       * \param str A read-only reference to the QString object to be trimmed. The original QString object is *not* modified.
+       *
+       * \return A new QString object that equals the original QString object, except that it has all *leading* white-space characters removed.
+       */
        MUTILS_API QString trim_left(const QString &str);
 
-       //String sorting
+       /**
+       * \brief Sort a list of strings using "natural ordering" algorithm
+       *
+       * This function implements a sort algorithm that orders alphanumeric strings in the way a human being would. See [*Natural Order String Comparison*](http://sourcefrog.net/projects/natsort/) for details!
+       *
+       * \param list A reference to the QStringList object to be sorted. The list will be sorted "in place".
+       */
        MUTILS_API void natural_string_sort(QStringList &list, const bool bIgnoreCase);
 
        //Clean file path