OSDN Git Service

Added new MUtils::parent_path() function.
[mutilities/MUtilities.git] / docs / d3 / da6 / namespace_m_utils.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.12"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>MuldeR&#39;s Utilities for Qt: MUtils Namespace Reference</title>
9 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="../../jquery.js"></script>
11 <script type="text/javascript" src="../../dynsections.js"></script>
12 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="../../search/searchdata.js"></script>
14 <script type="text/javascript" src="../../search/search.js"></script>
15 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21  <tbody>
22  <tr style="height: 56px;">
23   <td id="projectalign" style="padding-left: 0.5em;">
24    <div id="projectname">MuldeR&#39;s Utilities for Qt
25    </div>
26    <div id="projectbrief">MUtilities</div>
27   </td>
28  </tr>
29  </tbody>
30 </table>
31 </div>
32 <!-- end header part -->
33 <!-- Generated by Doxygen 1.8.12 -->
34 <script type="text/javascript">
35 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
36 </script>
37 <script type="text/javascript" src="../../menudata.js"></script>
38 <script type="text/javascript" src="../../menu.js"></script>
39 <script type="text/javascript">
40 $(function() {
41   initMenu('../../',true,false,'search.php','Search');
42   $(document).ready(function() { init_search(); });
43 });
44 </script>
45 <div id="main-nav"></div>
46 <!-- window showing the filter options -->
47 <div id="MSearchSelectWindow"
48      onmouseover="return searchBox.OnSearchSelectShow()"
49      onmouseout="return searchBox.OnSearchSelectHide()"
50      onkeydown="return searchBox.OnSearchSelectKey(event)">
51 </div>
52
53 <!-- iframe showing the search results (closed by default) -->
54 <div id="MSearchResultsWindow">
55 <iframe src="javascript:void(0)" frameborder="0" 
56         name="MSearchResults" id="MSearchResults">
57 </iframe>
58 </div>
59
60 </div><!-- top -->
61 <div class="header">
62   <div class="summary">
63 <a href="#namespaces">Namespaces</a> &#124;
64 <a href="#nested-classes">Classes</a> &#124;
65 <a href="#typedef-members">Typedefs</a> &#124;
66 <a href="#func-members">Functions</a> &#124;
67 <a href="#var-members">Variables</a>  </div>
68   <div class="headertitle">
69 <div class="title">MUtils Namespace Reference</div>  </div>
70 </div><!--header-->
71 <div class="contents">
72
73 <p>Global <a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> namespace.  
74 <a href="#details">More...</a></p>
75 <table class="memberdecls">
76 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
77 Namespaces</h2></td></tr>
78 <tr class="memitem:d3/d02/namespace_m_utils_1_1_c_p_u_fetaures"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html">CPUFetaures</a></td></tr>
79 <tr class="memdesc:d3/d02/namespace_m_utils_1_1_c_p_u_fetaures"><td class="mdescLeft">&#160;</td><td class="mdescRight">This namespace contains functions and constants for detecting CPU information. <br /></td></tr>
80 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
81 <tr class="memitem:d2/df4/namespace_m_utils_1_1_o_s"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html">OS</a></td></tr>
82 <tr class="memdesc:d2/df4/namespace_m_utils_1_1_o_s"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> OS-specific functions namespace. <br /></td></tr>
83 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
84 </table><table class="memberdecls">
85 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
86 Classes</h2></td></tr>
87 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d46/struct_m_utils_1_1__fp__parts__t.html">_fp_parts_t</a></td></tr>
88 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This struct containes the parts (integral and fractional part) of a floating-point number.  <a href="../../da/d46/struct_m_utils_1_1__fp__parts__t.html#details">More...</a><br /></td></tr>
89 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
90 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/dfe/class_m_utils_1_1_i_p_c_channel.html">IPCChannel</a></td></tr>
91 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
92 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a></td></tr>
93 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class represents a job object.  <a href="../../dc/dd3/class_m_utils_1_1_job_object.html#details">More...</a><br /></td></tr>
94 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
95 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/class_m_utils_1_1_lazy.html">Lazy</a></td></tr>
96 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../d0/dce/class_m_utils_1_1_lazy.html" title="Lazy initialization template class. ">Lazy</a> initialization template class.  <a href="../../d0/dce/class_m_utils_1_1_lazy.html#details">More...</a><br /></td></tr>
97 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
98 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d52/class_m_utils_1_1_taskbar7.html">Taskbar7</a></td></tr>
99 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/class_m_utils_1_1_update_checker.html">UpdateChecker</a></td></tr>
101 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
102 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d0d/class_m_utils_1_1_update_checker_info.html">UpdateCheckerInfo</a></td></tr>
103 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
104 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d32/class_m_utils_1_1_version.html">Version</a></td></tr>
105 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
106 </table><table class="memberdecls">
107 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
108 Typedefs</h2></td></tr>
109 <tr class="memitem:a75209365a097871cb2bb8fc3a21ce14b"><td class="memItemLeft" align="right" valign="top"><a id="a75209365a097871cb2bb8fc3a21ce14b"></a>
110 typedef struct <a class="el" href="../../da/d46/struct_m_utils_1_1__fp__parts__t.html">MUtils::_fp_parts_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a75209365a097871cb2bb8fc3a21ce14b">fp_parts_t</a></td></tr>
111 <tr class="memdesc:a75209365a097871cb2bb8fc3a21ce14b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This struct containes the parts (integral and fractional part) of a floating-point number. <br /></td></tr>
112 <tr class="separator:a75209365a097871cb2bb8fc3a21ce14b"><td class="memSeparator" colspan="2">&#160;</td></tr>
113 </table><table class="memberdecls">
114 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
115 Functions</h2></td></tr>
116 <tr class="memitem:a3f198156e8be91f3e74dd9ed69ffaa34"><td class="memItemLeft" align="right" valign="top">MUTILS_API const QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a3f198156e8be91f3e74dd9ed69ffaa34">temp_folder</a> (void)</td></tr>
117 <tr class="memdesc:a3f198156e8be91f3e74dd9ed69ffaa34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rerieves the full path of the application's <em>Temp</em> folder.  <a href="#a3f198156e8be91f3e74dd9ed69ffaa34">More...</a><br /></td></tr>
118 <tr class="separator:a3f198156e8be91f3e74dd9ed69ffaa34"><td class="memSeparator" colspan="2">&#160;</td></tr>
119 <tr class="memitem:a80205a5816416cc49e8d9f524894132a"><td class="memItemLeft" align="right" valign="top">MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a80205a5816416cc49e8d9f524894132a">init_process</a> (QProcess &amp;process, const QString &amp;wokringDir, const bool bReplaceTempDir=true, const QStringList *const extraPaths=NULL, const <a class="el" href="../../d6/d9c/class_q_hash.html">QHash</a>&lt; QString, QString &gt; *const extraEnv=NULL)</td></tr>
120 <tr class="memdesc:a80205a5816416cc49e8d9f524894132a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a given <a href="http://doc.qt.io/qt-4.8/qprocess.html">QProcess</a> object.  <a href="#a80205a5816416cc49e8d9f524894132a">More...</a><br /></td></tr>
121 <tr class="separator:a80205a5816416cc49e8d9f524894132a"><td class="memSeparator" colspan="2">&#160;</td></tr>
122 <tr class="memitem:a1c9832c1d645a2c90e9bd52d57d843b3"><td class="memItemLeft" align="right" valign="top">MUTILS_API quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a1c9832c1d645a2c90e9bd52d57d843b3">next_rand_u32</a> (void)</td></tr>
123 <tr class="memdesc:a1c9832c1d645a2c90e9bd52d57d843b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> unsigned 32-Bit value.  <a href="#a1c9832c1d645a2c90e9bd52d57d843b3">More...</a><br /></td></tr>
124 <tr class="separator:a1c9832c1d645a2c90e9bd52d57d843b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
125 <tr class="memitem:a6a20348df6f4f780d37f1d7440f7eff8"><td class="memItemLeft" align="right" valign="top"><a id="a6a20348df6f4f780d37f1d7440f7eff8"></a>
126 MUTILS_API quint32&#160;</td><td class="memItemRight" valign="bottom"><b>next_rand_u32</b> (const quint32 max)</td></tr>
127 <tr class="separator:a6a20348df6f4f780d37f1d7440f7eff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
128 <tr class="memitem:ad7edd4aece64faf3aa16c9509243608c"><td class="memItemLeft" align="right" valign="top">MUTILS_API quint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ad7edd4aece64faf3aa16c9509243608c">next_rand_u64</a> (void)</td></tr>
129 <tr class="memdesc:ad7edd4aece64faf3aa16c9509243608c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> unsigned 64-Bit value.  <a href="#ad7edd4aece64faf3aa16c9509243608c">More...</a><br /></td></tr>
130 <tr class="separator:ad7edd4aece64faf3aa16c9509243608c"><td class="memSeparator" colspan="2">&#160;</td></tr>
131 <tr class="memitem:ac583617546d5ae100ce7436546d9662c"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ac583617546d5ae100ce7436546d9662c">next_rand_str</a> (const bool &amp;bLong=false)</td></tr>
132 <tr class="memdesc:ac583617546d5ae100ce7436546d9662c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> string.  <a href="#ac583617546d5ae100ce7436546d9662c">More...</a><br /></td></tr>
133 <tr class="separator:ac583617546d5ae100ce7436546d9662c"><td class="memSeparator" colspan="2">&#160;</td></tr>
134 <tr class="memitem:a29461116550863e8730f3f4ec479bbcb"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a29461116550863e8730f3f4ec479bbcb">make_temp_file</a> (const QString &amp;basePath, const QString &amp;extension, const bool placeholder=false)</td></tr>
135 <tr class="memdesc:a29461116550863e8730f3f4ec479bbcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a temporary file name.  <a href="#a29461116550863e8730f3f4ec479bbcb">More...</a><br /></td></tr>
136 <tr class="separator:a29461116550863e8730f3f4ec479bbcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
137 <tr class="memitem:a32eec23b83ebbf837cbb2675d6183587"><td class="memItemLeft" align="right" valign="top"><a id="a32eec23b83ebbf837cbb2675d6183587"></a>
138 MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><b>make_temp_file</b> (const QDir &amp;basePath, const QString &amp;extension, const bool placeholder=false)</td></tr>
139 <tr class="separator:a32eec23b83ebbf837cbb2675d6183587"><td class="memSeparator" colspan="2">&#160;</td></tr>
140 <tr class="memitem:a4d288d8fbe9a187cffe8db04e70df3de"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a4d288d8fbe9a187cffe8db04e70df3de">make_unique_file</a> (const QString &amp;basePath, const QString &amp;baseName, const QString &amp;extension, const bool fancy=false, const bool placeholder=false)</td></tr>
141 <tr class="memdesc:a4d288d8fbe9a187cffe8db04e70df3de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a unique file name.  <a href="#a4d288d8fbe9a187cffe8db04e70df3de">More...</a><br /></td></tr>
142 <tr class="separator:a4d288d8fbe9a187cffe8db04e70df3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
143 <tr class="memitem:abd5b70b2cf6ae3ba7d161beb823f9ef0"><td class="memItemLeft" align="right" valign="top"><a id="abd5b70b2cf6ae3ba7d161beb823f9ef0"></a>
144 MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><b>make_unique_file</b> (const QDir &amp;basePath, const QString &amp;baseName, const QString &amp;extension, const bool fancy=false, const bool placeholder=false)</td></tr>
145 <tr class="separator:abd5b70b2cf6ae3ba7d161beb823f9ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
146 <tr class="memitem:aea4a212153b09b24b04f30ef5159f29b"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#aea4a212153b09b24b04f30ef5159f29b">parity</a> (quint32 value)</td></tr>
147 <tr class="memdesc:aea4a212153b09b24b04f30ef5159f29b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the <em>parity</em> of the given unsigned 32-Bit value.  <a href="#aea4a212153b09b24b04f30ef5159f29b">More...</a><br /></td></tr>
148 <tr class="separator:aea4a212153b09b24b04f30ef5159f29b"><td class="memSeparator" colspan="2">&#160;</td></tr>
149 <tr class="memitem:a5a14e75627eebd09efc37898d74c5ac6"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a5a14e75627eebd09efc37898d74c5ac6">remove_file</a> (const QString &amp;fileName)</td></tr>
150 <tr class="memdesc:a5a14e75627eebd09efc37898d74c5ac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the specified file.  <a href="#a5a14e75627eebd09efc37898d74c5ac6">More...</a><br /></td></tr>
151 <tr class="separator:a5a14e75627eebd09efc37898d74c5ac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
152 <tr class="memitem:a4d451ddc82668d1298f2922f62474b5d"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a4d451ddc82668d1298f2922f62474b5d">remove_directory</a> (const QString &amp;folderPath, const bool &amp;recursive)</td></tr>
153 <tr class="memdesc:a4d451ddc82668d1298f2922f62474b5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively deletes the specified directory.  <a href="#a4d451ddc82668d1298f2922f62474b5d">More...</a><br /></td></tr>
154 <tr class="separator:a4d451ddc82668d1298f2922f62474b5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
155 <tr class="memitem:a6118cf23d2b771fae1ad159c7ea6686a"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a6118cf23d2b771fae1ad159c7ea6686a">trim_right</a> (QString &amp;str)</td></tr>
156 <tr class="memdesc:a6118cf23d2b771fae1ad159c7ea6686a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="#a6118cf23d2b771fae1ad159c7ea6686a">More...</a><br /></td></tr>
157 <tr class="separator:a6118cf23d2b771fae1ad159c7ea6686a"><td class="memSeparator" colspan="2">&#160;</td></tr>
158 <tr class="memitem:a20b8fc56856ee904caaded756399e705"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a20b8fc56856ee904caaded756399e705">trim_left</a> (QString &amp;str)</td></tr>
159 <tr class="memdesc:a20b8fc56856ee904caaded756399e705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>leading</em> white-space characters.  <a href="#a20b8fc56856ee904caaded756399e705">More...</a><br /></td></tr>
160 <tr class="separator:a20b8fc56856ee904caaded756399e705"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <tr class="memitem:a3bcb0fce5181ded3c54456379147009d"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a3bcb0fce5181ded3c54456379147009d">trim_right</a> (const QString &amp;str)</td></tr>
162 <tr class="memdesc:a3bcb0fce5181ded3c54456379147009d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="#a3bcb0fce5181ded3c54456379147009d">More...</a><br /></td></tr>
163 <tr class="separator:a3bcb0fce5181ded3c54456379147009d"><td class="memSeparator" colspan="2">&#160;</td></tr>
164 <tr class="memitem:ae43bc17b6fa4ee2287099c4ae095483b"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ae43bc17b6fa4ee2287099c4ae095483b">trim_left</a> (const QString &amp;str)</td></tr>
165 <tr class="memdesc:ae43bc17b6fa4ee2287099c4ae095483b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="#ae43bc17b6fa4ee2287099c4ae095483b">More...</a><br /></td></tr>
166 <tr class="separator:ae43bc17b6fa4ee2287099c4ae095483b"><td class="memSeparator" colspan="2">&#160;</td></tr>
167 <tr class="memitem:a4d4c545ea06892f6487f15a48808564f"><td class="memItemLeft" align="right" valign="top">MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a4d4c545ea06892f6487f15a48808564f">natural_string_sort</a> (QStringList &amp;list, const bool bIgnoreCase)</td></tr>
168 <tr class="memdesc:a4d4c545ea06892f6487f15a48808564f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort a list of strings using "natural ordering" algorithm.  <a href="#a4d4c545ea06892f6487f15a48808564f">More...</a><br /></td></tr>
169 <tr class="separator:a4d4c545ea06892f6487f15a48808564f"><td class="memSeparator" colspan="2">&#160;</td></tr>
170 <tr class="memitem:aeb7783b8ecbe163501ce60dce8b6709f"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#aeb7783b8ecbe163501ce60dce8b6709f">clean_file_name</a> (const QString &amp;name, const bool &amp;pretty)</td></tr>
171 <tr class="memdesc:aeb7783b8ecbe163501ce60dce8b6709f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up a file name string.  <a href="#aeb7783b8ecbe163501ce60dce8b6709f">More...</a><br /></td></tr>
172 <tr class="separator:aeb7783b8ecbe163501ce60dce8b6709f"><td class="memSeparator" colspan="2">&#160;</td></tr>
173 <tr class="memitem:adb5da6435b27e10443060dd2550784f3"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#adb5da6435b27e10443060dd2550784f3">clean_file_path</a> (const QString &amp;path, const bool &amp;pretty)</td></tr>
174 <tr class="memdesc:adb5da6435b27e10443060dd2550784f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up a file path string.  <a href="#adb5da6435b27e10443060dd2550784f3">More...</a><br /></td></tr>
175 <tr class="separator:adb5da6435b27e10443060dd2550784f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
176 <tr class="memitem:ad2a851b289ee66873d3a1ec86f5f34eb"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ad2a851b289ee66873d3a1ec86f5f34eb">regexp_parse_uint32</a> (const QRegExp &amp;regexp, quint32 &amp;value)</td></tr>
177 <tr class="memdesc:ad2a851b289ee66873d3a1ec86f5f34eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse regular expression results.  <a href="#ad2a851b289ee66873d3a1ec86f5f34eb">More...</a><br /></td></tr>
178 <tr class="separator:ad2a851b289ee66873d3a1ec86f5f34eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
179 <tr class="memitem:aad998376f0aa5886940c8eb97bfe6e15"><td class="memItemLeft" align="right" valign="top"><a id="aad998376f0aa5886940c8eb97bfe6e15"></a>
180 MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>regexp_parse_int32</b> (const QRegExp &amp;regexp, qint32 &amp;value)</td></tr>
181 <tr class="separator:aad998376f0aa5886940c8eb97bfe6e15"><td class="memSeparator" colspan="2">&#160;</td></tr>
182 <tr class="memitem:a417d51d0993ba861f4118d2e2fcc92ad"><td class="memItemLeft" align="right" valign="top"><a id="a417d51d0993ba861f4118d2e2fcc92ad"></a>
183 MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>regexp_parse_uint32</b> (const QRegExp &amp;regexp, quint32 &amp;value, const size_t &amp;offset)</td></tr>
184 <tr class="separator:a417d51d0993ba861f4118d2e2fcc92ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
185 <tr class="memitem:a8fa486ed4aee98c4d0029b7e6e7c8d2c"><td class="memItemLeft" align="right" valign="top"><a id="a8fa486ed4aee98c4d0029b7e6e7c8d2c"></a>
186 MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>regexp_parse_int32</b> (const QRegExp &amp;regexp, qint32 &amp;value, const size_t &amp;offset)</td></tr>
187 <tr class="separator:a8fa486ed4aee98c4d0029b7e6e7c8d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
188 <tr class="memitem:a9916e02e90bdb987b95b3cc9d463f949"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a9916e02e90bdb987b95b3cc9d463f949">parent_path</a> (const QString &amp;path)</td></tr>
189 <tr class="memdesc:a9916e02e90bdb987b95b3cc9d463f949"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get parent path.  <a href="#a9916e02e90bdb987b95b3cc9d463f949">More...</a><br /></td></tr>
190 <tr class="separator:a9916e02e90bdb987b95b3cc9d463f949"><td class="memSeparator" colspan="2">&#160;</td></tr>
191 <tr class="memitem:a81704d66d34e37d3e0e159b5f436babf"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a81704d66d34e37d3e0e159b5f436babf">regexp_parse_uint32</a> (const QRegExp &amp;regexp, quint32 *values, const size_t &amp;count)</td></tr>
192 <tr class="memdesc:a81704d66d34e37d3e0e159b5f436babf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse regular expression results.  <a href="#a81704d66d34e37d3e0e159b5f436babf">More...</a><br /></td></tr>
193 <tr class="separator:a81704d66d34e37d3e0e159b5f436babf"><td class="memSeparator" colspan="2">&#160;</td></tr>
194 <tr class="memitem:a27a076bcb280998ee1b8e78575094902"><td class="memItemLeft" align="right" valign="top"><a id="a27a076bcb280998ee1b8e78575094902"></a>
195 MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>regexp_parse_int32</b> (const QRegExp &amp;regexp, qint32 *values, const size_t &amp;count)</td></tr>
196 <tr class="separator:a27a076bcb280998ee1b8e78575094902"><td class="memSeparator" colspan="2">&#160;</td></tr>
197 <tr class="memitem:aaf122ace1384f24daa17d760bc9c24d7"><td class="memItemLeft" align="right" valign="top"><a id="aaf122ace1384f24daa17d760bc9c24d7"></a>
198 MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>regexp_parse_uint32</b> (const QRegExp &amp;regexp, quint32 *values, const size_t &amp;offset, const size_t &amp;count)</td></tr>
199 <tr class="separator:aaf122ace1384f24daa17d760bc9c24d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
200 <tr class="memitem:a6acde539a343414504ad3ff452e08bde"><td class="memItemLeft" align="right" valign="top"><a id="a6acde539a343414504ad3ff452e08bde"></a>
201 MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>regexp_parse_int32</b> (const QRegExp &amp;regexp, qint32 *values, const size_t &amp;offset, const size_t &amp;count)</td></tr>
202 <tr class="separator:a6acde539a343414504ad3ff452e08bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
203 <tr class="memitem:a2275e64c3c74dea855c39b66be67f705"><td class="memItemLeft" align="right" valign="top">MUTILS_API QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a2275e64c3c74dea855c39b66be67f705">available_codepages</a> (const bool &amp;noAliases=true)</td></tr>
204 <tr class="memdesc:a2275e64c3c74dea855c39b66be67f705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a list of all available codepages.  <a href="#a2275e64c3c74dea855c39b66be67f705">More...</a><br /></td></tr>
205 <tr class="separator:a2275e64c3c74dea855c39b66be67f705"><td class="memSeparator" colspan="2">&#160;</td></tr>
206 <tr class="memitem:adba57bb9c5055c3ed1d528cd2151b5a9"><td class="memItemLeft" align="right" valign="top">MUTILS_API <a class="el" href="../../d3/da6/namespace_m_utils.html#a75209365a097871cb2bb8fc3a21ce14b">fp_parts_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#adba57bb9c5055c3ed1d528cd2151b5a9">break_fp</a> (const double value)</td></tr>
207 <tr class="memdesc:adba57bb9c5055c3ed1d528cd2151b5a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Break floating-point number into fractional and integral parts.  <a href="#adba57bb9c5055c3ed1d528cd2151b5a9">More...</a><br /></td></tr>
208 <tr class="separator:adba57bb9c5055c3ed1d528cd2151b5a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
209 </table><table class="memberdecls">
210 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
211 Variables</h2></td></tr>
212 <tr class="memitem:a4073b3c626fa07dd5530ddc2d0388939"><td class="memItemLeft" align="right" valign="top"><a id="a4073b3c626fa07dd5530ddc2d0388939"></a>
213 class MUTILS_API&#160;</td><td class="memItemRight" valign="bottom"><b>IPCChannel_Private</b></td></tr>
214 <tr class="separator:a4073b3c626fa07dd5530ddc2d0388939"><td class="memSeparator" colspan="2">&#160;</td></tr>
215 <tr class="memitem:a78cd148fbdfdf4f799a3b7562f7981c0"><td class="memItemLeft" align="right" valign="top"><a id="a78cd148fbdfdf4f799a3b7562f7981c0"></a>
216 class MUTILS_API&#160;</td><td class="memItemRight" valign="bottom"><b>Taskbar7_Private</b></td></tr>
217 <tr class="separator:a78cd148fbdfdf4f799a3b7562f7981c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
218 </table>
219 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
220 <div class="textblock"><p>Global <a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> namespace. </p>
221 <p>INTERNAL </p>
222 </div><h2 class="groupheader">Function Documentation</h2>
223 <a id="a2275e64c3c74dea855c39b66be67f705"></a>
224 <h2 class="memtitle"><span class="permalink"><a href="#a2275e64c3c74dea855c39b66be67f705">&sect;&nbsp;</a></span>available_codepages()</h2>
225
226 <div class="memitem">
227 <div class="memproto">
228       <table class="memname">
229         <tr>
230           <td class="memname">MUTILS_API QStringList MUtils::available_codepages </td>
231           <td>(</td>
232           <td class="paramtype">const bool &amp;&#160;</td>
233           <td class="paramname"><em>noAliases</em> = <code>true</code></td><td>)</td>
234           <td></td>
235         </tr>
236       </table>
237 </div><div class="memdoc">
238
239 <p>Retrieve a list of all available codepages. </p>
240 <p>The function generates a list of all codepages that are available on the system. Each codepage name returned by this function may be passed to the <code>QTextCodec::codecForName()</code> function in order to obtain a corresponding <a href="http://doc.qt.io/qt-4.8/qtextcodec.html">QTextCodec</a> object.</p>
241 <dl class="params"><dt>Parameters</dt><dd>
242   <table class="params">
243     <tr><td class="paramname">noAliases</td><td>If set to <code>true</code>, only distinct codepages are returned, i.e. any codepage aliases are discarded from the list; if set to <code>false</code>, the returned list may (and usually will) also contain codepage aliases.</td></tr>
244   </table>
245   </dd>
246 </dl>
247 <dl class="section return"><dt>Returns</dt><dd>If the function succeeds, it returns a QStringList holding the names of all codepages available on the system; otherwise it returns a default-constructed QStringList. </dd></dl>
248
249 </div>
250 </div>
251 <a id="adba57bb9c5055c3ed1d528cd2151b5a9"></a>
252 <h2 class="memtitle"><span class="permalink"><a href="#adba57bb9c5055c3ed1d528cd2151b5a9">&sect;&nbsp;</a></span>break_fp()</h2>
253
254 <div class="memitem">
255 <div class="memproto">
256       <table class="memname">
257         <tr>
258           <td class="memname">MUTILS_API <a class="el" href="../../d3/da6/namespace_m_utils.html#a75209365a097871cb2bb8fc3a21ce14b">fp_parts_t</a> MUtils::break_fp </td>
259           <td>(</td>
260           <td class="paramtype">const double&#160;</td>
261           <td class="paramname"><em>value</em></td><td>)</td>
262           <td></td>
263         </tr>
264       </table>
265 </div><div class="memdoc">
266
267 <p>Break floating-point number into fractional and integral parts. </p>
268 <p>The function returns a struct containing the fractional and the integral part of a given floating-point values as two separate values. This is a convenience warapper for the <code>modf()</code> function.</p>
269 <dl class="params"><dt>Parameters</dt><dd>
270   <table class="params">
271     <tr><td class="paramname">value</td><td>The original floating-point value</td></tr>
272   </table>
273   </dd>
274 </dl>
275 <dl class="section return"><dt>Returns</dt><dd>Returns a struct containing the fractional and integral parts. </dd></dl>
276
277 </div>
278 </div>
279 <a id="aeb7783b8ecbe163501ce60dce8b6709f"></a>
280 <h2 class="memtitle"><span class="permalink"><a href="#aeb7783b8ecbe163501ce60dce8b6709f">&sect;&nbsp;</a></span>clean_file_name()</h2>
281
282 <div class="memitem">
283 <div class="memproto">
284       <table class="memname">
285         <tr>
286           <td class="memname">MUTILS_API QString MUtils::clean_file_name </td>
287           <td>(</td>
288           <td class="paramtype">const QString &amp;&#160;</td>
289           <td class="paramname"><em>name</em>, </td>
290         </tr>
291         <tr>
292           <td class="paramkey"></td>
293           <td></td>
294           <td class="paramtype">const bool &amp;&#160;</td>
295           <td class="paramname"><em>pretty</em>&#160;</td>
296         </tr>
297         <tr>
298           <td></td>
299           <td>)</td>
300           <td></td><td></td>
301         </tr>
302       </table>
303 </div><div class="memdoc">
304
305 <p>Clean up a file name string. </p>
306 <p>This function ensures that the given string is a valid file (or directory) name. It does so by replacing any illegal characters, i.e. any characters <em>not</em> allowed in file names (which explicitly <em>includes</em> directory separators). Furthermore, the function will trim/remove specific characters that are <em>not</em> allowed directly at the beginning or end of a file name. Finally, the function takes care of special "reserved" file names that are forbidden by the file system. You can use this function to convert user inputs into a valid file name.</p>
307 <dl class="params"><dt>Parameters</dt><dd>
308   <table class="params">
309     <tr><td class="paramname">name</td><td>A read-only reference to the QString holding the original, potentially invalid file name.</td></tr>
310     <tr><td class="paramname">pretty</td><td>If set to <code>true</code>, the function tries to generate a "pretty" file name from the given file name. Otherwise, the function simply replaces each forbidden file name character by an underscore character.</td></tr>
311   </table>
312   </dd>
313 </dl>
314 <dl class="section return"><dt>Returns</dt><dd>The function returns a QString holding a valid file name. If, however, the input string was empty or contained only white-space characters, the returned sting can be empty. </dd></dl>
315
316 </div>
317 </div>
318 <a id="adb5da6435b27e10443060dd2550784f3"></a>
319 <h2 class="memtitle"><span class="permalink"><a href="#adb5da6435b27e10443060dd2550784f3">&sect;&nbsp;</a></span>clean_file_path()</h2>
320
321 <div class="memitem">
322 <div class="memproto">
323       <table class="memname">
324         <tr>
325           <td class="memname">MUTILS_API QString MUtils::clean_file_path </td>
326           <td>(</td>
327           <td class="paramtype">const QString &amp;&#160;</td>
328           <td class="paramname"><em>path</em>, </td>
329         </tr>
330         <tr>
331           <td class="paramkey"></td>
332           <td></td>
333           <td class="paramtype">const bool &amp;&#160;</td>
334           <td class="paramname"><em>pretty</em>&#160;</td>
335         </tr>
336         <tr>
337           <td></td>
338           <td>)</td>
339           <td></td><td></td>
340         </tr>
341       </table>
342 </div><div class="memdoc">
343
344 <p>Clean up a file path string. </p>
345 <p>This function ensures that the given string is a valid file (or directory) path. It does so by replacing any illegal characters, i.e. any characters <em>not</em> allowed in file paths. Directory separators are preserved, but they will be "canonicalized". Furthermore, in each path component, the function will trim/remove specific characters that are <em>not</em> allowed directly at the beginning or end of a path component. Finally, the function takes care of special "reserved" file names that are forbidden by the file system. You can use this function to convert user inputs into a valid file path.</p>
346 <dl class="params"><dt>Parameters</dt><dd>
347   <table class="params">
348     <tr><td class="paramname">path</td><td>A read-only reference to the QString holding the original, potentially invalid file path.</td></tr>
349     <tr><td class="paramname">pretty</td><td>If set to <code>true</code>, the function tries to generate "pretty" file names from the given file names. Otherwise, the function simply replaces each forbidden file name character by an underscore character.</td></tr>
350   </table>
351   </dd>
352 </dl>
353 <dl class="section return"><dt>Returns</dt><dd>The function returns a QString holding a valid file path. If, however, the input string was empty or contained only white-space characters, the returned sting can be empty. </dd></dl>
354
355 </div>
356 </div>
357 <a id="a80205a5816416cc49e8d9f524894132a"></a>
358 <h2 class="memtitle"><span class="permalink"><a href="#a80205a5816416cc49e8d9f524894132a">&sect;&nbsp;</a></span>init_process()</h2>
359
360 <div class="memitem">
361 <div class="memproto">
362       <table class="memname">
363         <tr>
364           <td class="memname">MUTILS_API void MUtils::init_process </td>
365           <td>(</td>
366           <td class="paramtype">QProcess &amp;&#160;</td>
367           <td class="paramname"><em>process</em>, </td>
368         </tr>
369         <tr>
370           <td class="paramkey"></td>
371           <td></td>
372           <td class="paramtype">const QString &amp;&#160;</td>
373           <td class="paramname"><em>wokringDir</em>, </td>
374         </tr>
375         <tr>
376           <td class="paramkey"></td>
377           <td></td>
378           <td class="paramtype">const bool&#160;</td>
379           <td class="paramname"><em>bReplaceTempDir</em> = <code>true</code>, </td>
380         </tr>
381         <tr>
382           <td class="paramkey"></td>
383           <td></td>
384           <td class="paramtype">const QStringList *const&#160;</td>
385           <td class="paramname"><em>extraPaths</em> = <code>NULL</code>, </td>
386         </tr>
387         <tr>
388           <td class="paramkey"></td>
389           <td></td>
390           <td class="paramtype">const <a class="el" href="../../d6/d9c/class_q_hash.html">QHash</a>&lt; QString, QString &gt; *const&#160;</td>
391           <td class="paramname"><em>extraEnv</em> = <code>NULL</code>&#160;</td>
392         </tr>
393         <tr>
394           <td></td>
395           <td>)</td>
396           <td></td><td></td>
397         </tr>
398       </table>
399 </div><div class="memdoc">
400
401 <p>Initialize a given <a href="http://doc.qt.io/qt-4.8/qprocess.html">QProcess</a> object. </p>
402 <p>This function prepares a given <a href="http://doc.qt.io/qt-4.8/qprocess.html">QProcess</a> object for sub-process creation. It does so by setting up combined <em>stdout</em> and <em>stderr</em> redirection for the sub-process, cleaning up the sub-process' environment variables, as well as setting up the sub-process' working directory. Optionally, the <em>Temp</em> directory for the sub-process can be set to the application-specific <em>Temp</em> directory, which is achieved by overwriting the corresponding environment variables (e.g. <code>TMP</code> and <code>TEMP</code>). Furthermore, additional paths can be added to the <code>PATH</code> environment variable of the sub-process.</p>
403 <dl class="params"><dt>Parameters</dt><dd>
404   <table class="params">
405     <tr><td class="paramname">process</td><td>A reference to the <a href="http://doc.qt.io/qt-4.8/qprocess.html">QProcess</a> object to be initialized. The <a href="http://doc.qt.io/qt-4.8/qprocess.html">QProcess</a> object must be initialized <em>before</em> calling the <code>QProcess::start()</code> method.</td></tr>
406     <tr><td class="paramname">process</td><td>A read-only reference to a QString holding the path of the working directory for the sub-process.</td></tr>
407     <tr><td class="paramname">bReplaceTempDir</td><td>If set to <code>true</code>, the <em>Temp</em> directory for the sub-process is set to the application-specific <em>Temp</em> directory; if set to <code>false</code>, the default <em>Temp</em> directory is retained.</td></tr>
408     <tr><td class="paramname">extraPaths</td><td>A read-only pointer to a QStringList object containing additional paths that will be added (prepended) to the sub-process' <code>PATH</code> environment variable. This parameter can be <code>NULL</code>, in which case <em>no</em> additional paths are added. </td></tr>
409   </table>
410   </dd>
411 </dl>
412
413 </div>
414 </div>
415 <a id="a29461116550863e8730f3f4ec479bbcb"></a>
416 <h2 class="memtitle"><span class="permalink"><a href="#a29461116550863e8730f3f4ec479bbcb">&sect;&nbsp;</a></span>make_temp_file()</h2>
417
418 <div class="memitem">
419 <div class="memproto">
420       <table class="memname">
421         <tr>
422           <td class="memname">MUTILS_API QString MUtils::make_temp_file </td>
423           <td>(</td>
424           <td class="paramtype">const QString &amp;&#160;</td>
425           <td class="paramname"><em>basePath</em>, </td>
426         </tr>
427         <tr>
428           <td class="paramkey"></td>
429           <td></td>
430           <td class="paramtype">const QString &amp;&#160;</td>
431           <td class="paramname"><em>extension</em>, </td>
432         </tr>
433         <tr>
434           <td class="paramkey"></td>
435           <td></td>
436           <td class="paramtype">const bool&#160;</td>
437           <td class="paramname"><em>placeholder</em> = <code>false</code>&#160;</td>
438         </tr>
439         <tr>
440           <td></td>
441           <td>)</td>
442           <td></td><td></td>
443         </tr>
444       </table>
445 </div><div class="memdoc">
446
447 <p>Generates a temporary file name. </p>
448 <p>The function generates a file name that contains a <em>random</em> component and that is guaranteed to <b>not</b> exist yet. The generated file name follows a <code>"&lt;basedir&gt;/&lt;random&gt;.&lt;ext&gt;"</code> pattern. This is useful (not only) for creating temporary files.</p>
449 <dl class="params"><dt>Parameters</dt><dd>
450   <table class="params">
451     <tr><td class="paramname">basePath</td><td>Specifies the "base" directory where the temporary file is supposed to be created. This must be a valid <em>existing</em> directory.</td></tr>
452     <tr><td class="paramname">extension</td><td>Specifies the desired file extensions of the temporary file. Do <b>not</b> include a leading dot (<code>.</code>) character.</td></tr>
453     <tr><td class="paramname">placeholder</td><td>If set to <code>true</code>, the function creates an empty "placeholder" file under the returned file name; if set to <code>false</code>, it does <em>not</em>.</td></tr>
454   </table>
455   </dd>
456 </dl>
457 <dl class="section return"><dt>Returns</dt><dd>If the function succeeds, it returns a QString holding the full path of the temporary file; otherwise it returns a default-constructed QString. </dd></dl>
458
459 </div>
460 </div>
461 <a id="a4d288d8fbe9a187cffe8db04e70df3de"></a>
462 <h2 class="memtitle"><span class="permalink"><a href="#a4d288d8fbe9a187cffe8db04e70df3de">&sect;&nbsp;</a></span>make_unique_file()</h2>
463
464 <div class="memitem">
465 <div class="memproto">
466       <table class="memname">
467         <tr>
468           <td class="memname">MUTILS_API QString MUtils::make_unique_file </td>
469           <td>(</td>
470           <td class="paramtype">const QString &amp;&#160;</td>
471           <td class="paramname"><em>basePath</em>, </td>
472         </tr>
473         <tr>
474           <td class="paramkey"></td>
475           <td></td>
476           <td class="paramtype">const QString &amp;&#160;</td>
477           <td class="paramname"><em>baseName</em>, </td>
478         </tr>
479         <tr>
480           <td class="paramkey"></td>
481           <td></td>
482           <td class="paramtype">const QString &amp;&#160;</td>
483           <td class="paramname"><em>extension</em>, </td>
484         </tr>
485         <tr>
486           <td class="paramkey"></td>
487           <td></td>
488           <td class="paramtype">const bool&#160;</td>
489           <td class="paramname"><em>fancy</em> = <code>false</code>, </td>
490         </tr>
491         <tr>
492           <td class="paramkey"></td>
493           <td></td>
494           <td class="paramtype">const bool&#160;</td>
495           <td class="paramname"><em>placeholder</em> = <code>false</code>&#160;</td>
496         </tr>
497         <tr>
498           <td></td>
499           <td>)</td>
500           <td></td><td></td>
501         </tr>
502       </table>
503 </div><div class="memdoc">
504
505 <p>Generates a unique file name. </p>
506 <p>The function generates a unique file name in the specified directory. The function guarantees that the returned file name does <em>not</em> exist yet. If necessary, a <em>counter</em> will be included in the file name in order to ensure its uniqueness.</p>
507 <dl class="params"><dt>Parameters</dt><dd>
508   <table class="params">
509     <tr><td class="paramname">basePath</td><td>Specifies the "base" directory where the unique file is supposed to be created. This must be a valid <em>existing</em> directory.</td></tr>
510     <tr><td class="paramname">baseName</td><td>Specifies the desired "base" file name of the unique file. Do <b>not</b> include a file extension.</td></tr>
511     <tr><td class="paramname">extension</td><td>Specifies the desired file extensions of the unique file. Do <b>not</b> include a leading dot (<code>.</code>) character.</td></tr>
512     <tr><td class="paramname">fancy</td><td>If set to <code>true</code>, the unique file name is generated according to the <code>"&lt;basedir&gt;/&lt;basename&gt; (N).&lt;ext&gt;"</code> pattern; if set to <code>false</code>, it is generated according to the <code>"&lt;basedir&gt;/&lt;basename&gt;.XXXX.&lt;ext&gt;"</code> pattern. Also, if set to <code>true</code>, a counter is only included in the file name, if the file name <em>without</em> counter already exists; if set to <code>false</code>, a counter is always included. Finally, if set to <code>true</code>, the counter starts at <b>2</b> and is printed in decimal format; if set to <code>false</code>, the counter starts at <b>0</b> and is printed in zero-padded hexadecimal format.</td></tr>
513   </table>
514   </dd>
515 </dl>
516 <dl class="section return"><dt>Returns</dt><dd>If the function succeeds, it returns a QString holding the full path of the unique file; otherwise it returns a default-constructed QString. </dd></dl>
517
518 </div>
519 </div>
520 <a id="a4d4c545ea06892f6487f15a48808564f"></a>
521 <h2 class="memtitle"><span class="permalink"><a href="#a4d4c545ea06892f6487f15a48808564f">&sect;&nbsp;</a></span>natural_string_sort()</h2>
522
523 <div class="memitem">
524 <div class="memproto">
525       <table class="memname">
526         <tr>
527           <td class="memname">MUTILS_API void MUtils::natural_string_sort </td>
528           <td>(</td>
529           <td class="paramtype">QStringList &amp;&#160;</td>
530           <td class="paramname"><em>list</em>, </td>
531         </tr>
532         <tr>
533           <td class="paramkey"></td>
534           <td></td>
535           <td class="paramtype">const bool&#160;</td>
536           <td class="paramname"><em>bIgnoreCase</em>&#160;</td>
537         </tr>
538         <tr>
539           <td></td>
540           <td>)</td>
541           <td></td><td></td>
542         </tr>
543       </table>
544 </div><div class="memdoc">
545
546 <p>Sort a list of strings using "natural ordering" algorithm. </p>
547 <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>
548 <dl class="params"><dt>Parameters</dt><dd>
549   <table class="params">
550     <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>
551     <tr><td class="paramname">bIgnoreCase</td><td>If set to <code>true</code>, the list will be sorted disregarding the character case, i.e. upper-case and lower-case characters (of the same letter) are treated the same; if set to <code>false</code>, the character case <em>is</em> taken into account. </td></tr>
552   </table>
553   </dd>
554 </dl>
555
556 </div>
557 </div>
558 <a id="ac583617546d5ae100ce7436546d9662c"></a>
559 <h2 class="memtitle"><span class="permalink"><a href="#ac583617546d5ae100ce7436546d9662c">&sect;&nbsp;</a></span>next_rand_str()</h2>
560
561 <div class="memitem">
562 <div class="memproto">
563       <table class="memname">
564         <tr>
565           <td class="memname">MUTILS_API QString MUtils::next_rand_str </td>
566           <td>(</td>
567           <td class="paramtype">const bool &amp;&#160;</td>
568           <td class="paramname"><em>bLong</em> = <code>false</code></td><td>)</td>
569           <td></td>
570         </tr>
571       </table>
572 </div><div class="memdoc">
573
574 <p>Generates a <em>random</em> string. </p>
575 <p>The random string is generated using the same PRNG as the <code><a class="el" href="../../d3/da6/namespace_m_utils.html#ad7edd4aece64faf3aa16c9509243608c" title="Generates a random unsigned 64-Bit value. ">next_rand_u64()</a></code> function. The <em>random</em> bytes are converted to a hexadecimal string and, if necessary, zero-padded to a toal length of 16 or 32 characters. There is <b>no</b> <code>0x</code>-prefix included in the result.</p>
576 <dl class="params"><dt>Parameters</dt><dd>
577   <table class="params">
578     <tr><td class="paramname">bLong</td><td>If set to <code>true</code>, a "long" random string (32 characters) will be generated; if set to <code>false</code>, a "short" random string (16 characters) is generated.</td></tr>
579   </table>
580   </dd>
581 </dl>
582 <dl class="section return"><dt>Returns</dt><dd>The function returns a QString holding a <em>random</em> hexadecimal string </dd></dl>
583
584 </div>
585 </div>
586 <a id="a1c9832c1d645a2c90e9bd52d57d843b3"></a>
587 <h2 class="memtitle"><span class="permalink"><a href="#a1c9832c1d645a2c90e9bd52d57d843b3">&sect;&nbsp;</a></span>next_rand_u32()</h2>
588
589 <div class="memitem">
590 <div class="memproto">
591       <table class="memname">
592         <tr>
593           <td class="memname">MUTILS_API quint32 MUtils::next_rand_u32 </td>
594           <td>(</td>
595           <td class="paramtype">void&#160;</td>
596           <td class="paramname"></td><td>)</td>
597           <td></td>
598         </tr>
599       </table>
600 </div><div class="memdoc">
601
602 <p>Generates a <em>random</em> unsigned 32-Bit value. </p>
603 <p>The <em>random</em> value is created using a "strong" PRNG of the underlying system, if possible. Otherwise a fallback PRNG is used. It is <b>not</b> required or useful to call <code>srand()</code> or <code>qsrand()</code> prior to using this function. If necessary, the seeding of the PRNG happen <em>automatically</em> on the first call.</p>
604 <dl class="section return"><dt>Returns</dt><dd>The function returns a <em>random</em> unsigned 32-Bit value. </dd></dl>
605
606 </div>
607 </div>
608 <a id="ad7edd4aece64faf3aa16c9509243608c"></a>
609 <h2 class="memtitle"><span class="permalink"><a href="#ad7edd4aece64faf3aa16c9509243608c">&sect;&nbsp;</a></span>next_rand_u64()</h2>
610
611 <div class="memitem">
612 <div class="memproto">
613       <table class="memname">
614         <tr>
615           <td class="memname">MUTILS_API quint64 MUtils::next_rand_u64 </td>
616           <td>(</td>
617           <td class="paramtype">void&#160;</td>
618           <td class="paramname"></td><td>)</td>
619           <td></td>
620         </tr>
621       </table>
622 </div><div class="memdoc">
623
624 <p>Generates a <em>random</em> unsigned 64-Bit value. </p>
625 <p>The <em>random</em> value is created using a "strong" PRNG of the underlying system, if possible. Otherwise a fallback PRNG is used. It is <b>not</b> required or useful to call <code>srand()</code> or <code>qsrand()</code> prior to using this function. If necessary, the seeding of the PRNG happen <em>automatically</em> on the first call.</p>
626 <dl class="section return"><dt>Returns</dt><dd>The function returns a <em>random</em> unsigned 64-Bit value. </dd></dl>
627
628 </div>
629 </div>
630 <a id="a9916e02e90bdb987b95b3cc9d463f949"></a>
631 <h2 class="memtitle"><span class="permalink"><a href="#a9916e02e90bdb987b95b3cc9d463f949">&sect;&nbsp;</a></span>parent_path()</h2>
632
633 <div class="memitem">
634 <div class="memproto">
635       <table class="memname">
636         <tr>
637           <td class="memname">MUTILS_API QString MUtils::parent_path </td>
638           <td>(</td>
639           <td class="paramtype">const QString &amp;&#160;</td>
640           <td class="paramname"><em>path</em></td><td>)</td>
641           <td></td>
642         </tr>
643       </table>
644 </div><div class="memdoc">
645
646 <p>Get parent path. </p>
647 <p>This function determines the "parent" path, by removing the <em>last</em> path component (file name or directory) form the given original path.</p>
648 <dl class="params"><dt>Parameters</dt><dd>
649   <table class="params">
650     <tr><td class="paramname">path</td><td>A read-only reference to the original path string.</td></tr>
651   </table>
652   </dd>
653 </dl>
654 <dl class="section return"><dt>Returns</dt><dd>The remaining path string (i.e. "parent" path); an empty string if the original path only consited of a single component. </dd></dl>
655
656 </div>
657 </div>
658 <a id="aea4a212153b09b24b04f30ef5159f29b"></a>
659 <h2 class="memtitle"><span class="permalink"><a href="#aea4a212153b09b24b04f30ef5159f29b">&sect;&nbsp;</a></span>parity()</h2>
660
661 <div class="memitem">
662 <div class="memproto">
663       <table class="memname">
664         <tr>
665           <td class="memname">MUTILS_API bool MUtils::parity </td>
666           <td>(</td>
667           <td class="paramtype">quint32&#160;</td>
668           <td class="paramname"><em>value</em></td><td>)</td>
669           <td></td>
670         </tr>
671       </table>
672 </div><div class="memdoc">
673
674 <p>Computes the <em>parity</em> of the given unsigned 32-Bit value. </p>
675 <dl class="params"><dt>Parameters</dt><dd>
676   <table class="params">
677     <tr><td class="paramname">value</td><td>The 32-Bit unsigned value from which the parity is to be computed.</td></tr>
678   </table>
679   </dd>
680 </dl>
681 <dl class="section return"><dt>Returns</dt><dd>The function returns <code>true</code>, if the number of <b>1</b> bits in the given value is <em>odd</em>; it returns <code>false</code>, if the number of <b>1</b> bits in the given value is <em>even</em>. </dd></dl>
682
683 </div>
684 </div>
685 <a id="ad2a851b289ee66873d3a1ec86f5f34eb"></a>
686 <h2 class="memtitle"><span class="permalink"><a href="#ad2a851b289ee66873d3a1ec86f5f34eb">&sect;&nbsp;</a></span>regexp_parse_uint32() <span class="overload">[1/2]</span></h2>
687
688 <div class="memitem">
689 <div class="memproto">
690       <table class="memname">
691         <tr>
692           <td class="memname">MUTILS_API bool MUtils::regexp_parse_uint32 </td>
693           <td>(</td>
694           <td class="paramtype">const QRegExp &amp;&#160;</td>
695           <td class="paramname"><em>regexp</em>, </td>
696         </tr>
697         <tr>
698           <td class="paramkey"></td>
699           <td></td>
700           <td class="paramtype">quint32 &amp;&#160;</td>
701           <td class="paramname"><em>value</em>&#160;</td>
702         </tr>
703         <tr>
704           <td></td>
705           <td>)</td>
706           <td></td><td></td>
707         </tr>
708       </table>
709 </div><div class="memdoc">
710
711 <p>Parse regular expression results. </p>
712 <p>This function tries to parses the result (capture) of a regular expression as an unsigned 32-Bit value. The given regular expression must contain at least <em>one</em> capture. Only the <em>first</em> capture is considered, additional captures are ignored.</p>
713 <dl class="params"><dt>Parameters</dt><dd>
714   <table class="params">
715     <tr><td class="paramname">regexp</td><td>A read-only reference to the <a href="http://doc.qt.io/qt-4.8/qregexp.html">QRegExp</a> object whose result (capture) will be parsed. This <a href="http://doc.qt.io/qt-4.8/qregexp.html">QRegExp</a> must already have been <em>successfully</em> matched against the respective input string, e.g. via <code>QRegExp::indexIn()</code>, prior to calling this function.</td></tr>
716     <tr><td class="paramname">value</td><td>A reference to a variable of type <code>quint32</code>, where the unsigned 32-Bit representation of the result will be stored. The contents of this variable are <em>undefined</em>, if the function failed.</td></tr>
717   </table>
718   </dd>
719 </dl>
720 <dl class="section return"><dt>Returns</dt><dd>The function returns <code>true</code>, if the regular expression's capture could be parsed successfully; it returns <code>false</code>, if the capture contains an invalid string or if there are insufficient captures in given the <a href="http://doc.qt.io/qt-4.8/qregexp.html">QRegExp</a> object. </dd></dl>
721
722 </div>
723 </div>
724 <a id="a81704d66d34e37d3e0e159b5f436babf"></a>
725 <h2 class="memtitle"><span class="permalink"><a href="#a81704d66d34e37d3e0e159b5f436babf">&sect;&nbsp;</a></span>regexp_parse_uint32() <span class="overload">[2/2]</span></h2>
726
727 <div class="memitem">
728 <div class="memproto">
729       <table class="memname">
730         <tr>
731           <td class="memname">MUTILS_API bool MUtils::regexp_parse_uint32 </td>
732           <td>(</td>
733           <td class="paramtype">const QRegExp &amp;&#160;</td>
734           <td class="paramname"><em>regexp</em>, </td>
735         </tr>
736         <tr>
737           <td class="paramkey"></td>
738           <td></td>
739           <td class="paramtype">quint32 *&#160;</td>
740           <td class="paramname"><em>values</em>, </td>
741         </tr>
742         <tr>
743           <td class="paramkey"></td>
744           <td></td>
745           <td class="paramtype">const size_t &amp;&#160;</td>
746           <td class="paramname"><em>count</em>&#160;</td>
747         </tr>
748         <tr>
749           <td></td>
750           <td>)</td>
751           <td></td><td></td>
752         </tr>
753       </table>
754 </div><div class="memdoc">
755
756 <p>Parse regular expression results. </p>
757 <p>This function tries to parses the results (captures) of a regular expression as unsigned 32-Bit values. The given regular expression must contain at least <code>count</code> captures. Only the <em>first</em> <code>count</code> captures are considered, additional captures are ignored.</p>
758 <dl class="params"><dt>Parameters</dt><dd>
759   <table class="params">
760     <tr><td class="paramname">regexp</td><td>A read-only reference to the <a href="http://doc.qt.io/qt-4.8/qregexp.html">QRegExp</a> object whose results (captures) will be parsed. This <a href="http://doc.qt.io/qt-4.8/qregexp.html">QRegExp</a> must already have been <em>successfully</em> matched against the respective input string, e.g. via <code>QRegExp::indexIn()</code>, prior to calling this function.</td></tr>
761     <tr><td class="paramname">value</td><td>A pointer to an array of type <code>quint32</code>, where the unsigned 32-Bit representations of the results will be stored (the <code>n</code>-th result is stored at <code>value[n-1]</code>). The array must be at least <code>count</code> elements in length. The contents of this array are <em>undefined</em>, if the function failed.</td></tr>
762     <tr><td class="paramname">count</td><td>Specifies the number of results (captures) in the given <a href="http://doc.qt.io/qt-4.8/qregexp.html">QRegExp</a> object. The function tries to parse the first <code>count</code> captures and ignores any additional captures that may exist. This parameter also determines the required (minimum) length of the <code>value</code> array.</td></tr>
763   </table>
764   </dd>
765 </dl>
766 <dl class="section return"><dt>Returns</dt><dd>The function returns <code>true</code>, if all of the regular expression's captures could be parsed successfully; it returns <code>false</code>, if any of the captures contain an invalid string or if there are insufficient captures in given the <a href="http://doc.qt.io/qt-4.8/qregexp.html">QRegExp</a> object. </dd></dl>
767
768 </div>
769 </div>
770 <a id="a4d451ddc82668d1298f2922f62474b5d"></a>
771 <h2 class="memtitle"><span class="permalink"><a href="#a4d451ddc82668d1298f2922f62474b5d">&sect;&nbsp;</a></span>remove_directory()</h2>
772
773 <div class="memitem">
774 <div class="memproto">
775       <table class="memname">
776         <tr>
777           <td class="memname">MUTILS_API bool MUtils::remove_directory </td>
778           <td>(</td>
779           <td class="paramtype">const QString &amp;&#160;</td>
780           <td class="paramname"><em>folderPath</em>, </td>
781         </tr>
782         <tr>
783           <td class="paramkey"></td>
784           <td></td>
785           <td class="paramtype">const bool &amp;&#160;</td>
786           <td class="paramname"><em>recursive</em>&#160;</td>
787         </tr>
788         <tr>
789           <td></td>
790           <td>)</td>
791           <td></td><td></td>
792         </tr>
793       </table>
794 </div><div class="memdoc">
795
796 <p>Recursively deletes the specified directory. </p>
797 <p>The function deletes the specified directory. In <em>recursive</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="../../d3/da6/namespace_m_utils.html#a5a14e75627eebd09efc37898d74c5ac6" title="Deletes the specified file. ">remove_file()</a></code> function.</p>
798 <dl class="params"><dt>Parameters</dt><dd>
799   <table class="params">
800     <tr><td class="paramname">folderPath</td><td>The path to the directory to be deleted. This should be a full path.</td></tr>
801     <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>
802   </table>
803   </dd>
804 </dl>
805 <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>
806
807 </div>
808 </div>
809 <a id="a5a14e75627eebd09efc37898d74c5ac6"></a>
810 <h2 class="memtitle"><span class="permalink"><a href="#a5a14e75627eebd09efc37898d74c5ac6">&sect;&nbsp;</a></span>remove_file()</h2>
811
812 <div class="memitem">
813 <div class="memproto">
814       <table class="memname">
815         <tr>
816           <td class="memname">MUTILS_API bool MUtils::remove_file </td>
817           <td>(</td>
818           <td class="paramtype">const QString &amp;&#160;</td>
819           <td class="paramname"><em>fileName</em></td><td>)</td>
820           <td></td>
821         </tr>
822       </table>
823 </div><div class="memdoc">
824
825 <p>Deletes the specified file. </p>
826 <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>
827 <dl class="params"><dt>Parameters</dt><dd>
828   <table class="params">
829     <tr><td class="paramname">fileName</td><td>The path to the file to be deleted. This should be a full path.</td></tr>
830   </table>
831   </dd>
832 </dl>
833 <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>
834
835 </div>
836 </div>
837 <a id="a3f198156e8be91f3e74dd9ed69ffaa34"></a>
838 <h2 class="memtitle"><span class="permalink"><a href="#a3f198156e8be91f3e74dd9ed69ffaa34">&sect;&nbsp;</a></span>temp_folder()</h2>
839
840 <div class="memitem">
841 <div class="memproto">
842       <table class="memname">
843         <tr>
844           <td class="memname">MUTILS_API const QString&amp; MUtils::temp_folder </td>
845           <td>(</td>
846           <td class="paramtype">void&#160;</td>
847           <td class="paramname"></td><td>)</td>
848           <td></td>
849         </tr>
850       </table>
851 </div><div class="memdoc">
852
853 <p>Rerieves the full path of the application's <em>Temp</em> folder. </p>
854 <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 terminates normally, the application's <em>Temp</em> folder and all files or sub-directories thereof will be <em>removed</em> automatically!</p>
855 <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>
856
857 </div>
858 </div>
859 <a id="a20b8fc56856ee904caaded756399e705"></a>
860 <h2 class="memtitle"><span class="permalink"><a href="#a20b8fc56856ee904caaded756399e705">&sect;&nbsp;</a></span>trim_left() <span class="overload">[1/2]</span></h2>
861
862 <div class="memitem">
863 <div class="memproto">
864       <table class="memname">
865         <tr>
866           <td class="memname">MUTILS_API QString&amp; MUtils::trim_left </td>
867           <td>(</td>
868           <td class="paramtype">QString &amp;&#160;</td>
869           <td class="paramname"><em>str</em></td><td>)</td>
870           <td></td>
871         </tr>
872       </table>
873 </div><div class="memdoc">
874
875 <p>Remove <em>leading</em> white-space characters. </p>
876 <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>
877 <dl class="params"><dt>Parameters</dt><dd>
878   <table class="params">
879     <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>
880   </table>
881   </dd>
882 </dl>
883 <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>
884
885 </div>
886 </div>
887 <a id="ae43bc17b6fa4ee2287099c4ae095483b"></a>
888 <h2 class="memtitle"><span class="permalink"><a href="#ae43bc17b6fa4ee2287099c4ae095483b">&sect;&nbsp;</a></span>trim_left() <span class="overload">[2/2]</span></h2>
889
890 <div class="memitem">
891 <div class="memproto">
892       <table class="memname">
893         <tr>
894           <td class="memname">MUTILS_API QString MUtils::trim_left </td>
895           <td>(</td>
896           <td class="paramtype">const QString &amp;&#160;</td>
897           <td class="paramname"><em>str</em></td><td>)</td>
898           <td></td>
899         </tr>
900       </table>
901 </div><div class="memdoc">
902
903 <p>Remove <em>trailing</em> white-space characters. </p>
904 <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>
905 <dl class="params"><dt>Parameters</dt><dd>
906   <table class="params">
907     <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>
908   </table>
909   </dd>
910 </dl>
911 <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>
912
913 </div>
914 </div>
915 <a id="a6118cf23d2b771fae1ad159c7ea6686a"></a>
916 <h2 class="memtitle"><span class="permalink"><a href="#a6118cf23d2b771fae1ad159c7ea6686a">&sect;&nbsp;</a></span>trim_right() <span class="overload">[1/2]</span></h2>
917
918 <div class="memitem">
919 <div class="memproto">
920       <table class="memname">
921         <tr>
922           <td class="memname">MUTILS_API QString&amp; MUtils::trim_right </td>
923           <td>(</td>
924           <td class="paramtype">QString &amp;&#160;</td>
925           <td class="paramname"><em>str</em></td><td>)</td>
926           <td></td>
927         </tr>
928       </table>
929 </div><div class="memdoc">
930
931 <p>Remove <em>trailing</em> white-space characters. </p>
932 <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>
933 <dl class="params"><dt>Parameters</dt><dd>
934   <table class="params">
935     <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>
936   </table>
937   </dd>
938 </dl>
939 <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>
940
941 </div>
942 </div>
943 <a id="a3bcb0fce5181ded3c54456379147009d"></a>
944 <h2 class="memtitle"><span class="permalink"><a href="#a3bcb0fce5181ded3c54456379147009d">&sect;&nbsp;</a></span>trim_right() <span class="overload">[2/2]</span></h2>
945
946 <div class="memitem">
947 <div class="memproto">
948       <table class="memname">
949         <tr>
950           <td class="memname">MUTILS_API QString MUtils::trim_right </td>
951           <td>(</td>
952           <td class="paramtype">const QString &amp;&#160;</td>
953           <td class="paramname"><em>str</em></td><td>)</td>
954           <td></td>
955         </tr>
956       </table>
957 </div><div class="memdoc">
958
959 <p>Remove <em>trailing</em> white-space characters. </p>
960 <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>
961 <dl class="params"><dt>Parameters</dt><dd>
962   <table class="params">
963     <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>
964   </table>
965   </dd>
966 </dl>
967 <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>
968
969 </div>
970 </div>
971 </div><!-- contents -->
972 <!-- start footer part -->
973 <hr class="footer"/><address class="footer"><small>
974 Generated by &#160;<a href="http://www.doxygen.org/index.html">
975 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
976 </a> 1.8.12
977 </small></address>
978 </body>
979 </html>