Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 5225

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mrpt::utils::CConfigFile Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1utils.html">utils</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html">CConfigFile</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::utils::CConfigFile Class Reference<div class="ingroups"><a class="el" href="group__mrpt__base__grp.html">[mrpt-base]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::utils::CConfigFile" --><!-- doxytag: inherits="mrpt::utils::CConfigFileBase" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class allows loading and storing values and vectors of different types from ".ini" files easily. </p>
<p>The contents of the file will be modified by "write" operations in memory, and will be saved back to the file at the destructor, and only if at least one write operation has been applied. </p>
</div>
<p><code>#include &lt;<a class="el" href="_c_config_file_8h_source.html">mrpt/utils/CConfigFile.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::utils::CConfigFile:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1utils_1_1_c_config_file__inherit__graph.png" border="0" usemap="#mrpt_1_1utils_1_1_c_config_file_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1utils_1_1_c_config_file_inherit__map" id="mrpt_1_1utils_1_1_c_config_file_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1utils_1_1_c_config_file_base.html" title="This class allows loading and storing values and vectors of different types from a configuration text..." alt="" coords="5,5,192,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1utils_1_1_c_config_file-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#abf18b3a13f274c5e649202510845b727">CConfigFile</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;fileName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that opens a configuration file.  <a href="#abf18b3a13f274c5e649202510845b727"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#ad1d001b2971959053eae9b7c3a7ca670">CConfigFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor, does not open any file.  <a href="#ad1d001b2971959053eae9b7c3a7ca670"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#aafcefa07b09c2c41a18f75c2ae4df83e">setFileName</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;fil_path)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Associate this object with the given file, so future read/write operations will be applied to that file (it's synchronized at destruction).  <a href="#aafcefa07b09c2c41a18f75c2ae4df83e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#afa330002e3a5e166f57441184301a5ab">writeNow</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dumps the changes to the physical configuration file now, not waiting until destruction.  <a href="#afa330002e3a5e166f57441184301a5ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#afe9631fca69de992a4454f534e3cc703">getAssociatedFile</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the file currently open by this object.  <a href="#afe9631fca69de992a4454f534e3cc703"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#a66f2d454b39714542687149560b0ee37">~CConfigFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a66f2d454b39714542687149560b0ee37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#a134598f52d24e5fb6f130dcb90207eae">getAllSections</a> (<a class="el" href="namespacemrpt.html#a4d04fc5241bf87fcaffec90f3b23b1ea">vector_string</a> &amp;sections) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list with all the section names.  <a href="#a134598f52d24e5fb6f130dcb90207eae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#a091309dc02080d0c9b3f517108802f8e">getAllKeys</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> section, <a class="el" href="namespacemrpt.html#a4d04fc5241bf87fcaffec90f3b23b1ea">vector_string</a> &amp;keys) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returs a list with all the keys into a section.  <a href="#a091309dc02080d0c9b3f517108802f8e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#ab3689f00ff5268774f9967103a088f7f">sectionExists</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section_name) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a given section exists (name is case insensitive)  <a href="#ab3689f00ff5268774f9967103a088f7f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a8df61de014e456e2e13f8ea30d445683">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, double value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "double".  <a href="#a8df61de014e456e2e13f8ea30d445683"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a49a3ed035ffa9772f68e6c415e397584">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, float value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "float".  <a href="#a49a3ed035ffa9772f68e6c415e397584"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#aadc1ef735eb9f07830c8b55c5eed28b3">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, int value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "int".  <a href="#aadc1ef735eb9f07830c8b55c5eed28b3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#aef7e359e9f6f16bbaeb99776d7102083">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, unsigned int value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "unsigned int".  <a href="#aef7e359e9f6f16bbaeb99776d7102083"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a2ce95be928f6aee6aa1654bd372b809c">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "string".  <a href="#a2ce95be928f6aee6aa1654bd372b809c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a1e0f53e1198face3f91d3285c7155ebd">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "std::vector&lt;int&gt;".  <a href="#a1e0f53e1198face3f91d3285c7155ebd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#afe8443c6e20a287b5faaa4cd6358ee38">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; unsigned int &gt; &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "std::vector&lt;unsigned int&gt;".  <a href="#afe8443c6e20a287b5faaa4cd6358ee38"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#aff8905776d96937584740078a97579b4">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "std::vector&lt;float&gt;".  <a href="#aff8905776d96937584740078a97579b4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#aa018214a8347758dce0f044af43eacb4">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "std::vector&lt;double&gt;".  <a href="#aa018214a8347758dce0f044af43eacb4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a1de2699a589e9dbaf4776a29e7a8dc0a">write</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; bool &gt; &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a configuration parameter of type "std::vector&lt;bool&gt;".  <a href="#a1de2699a589e9dbaf4776a29e7a8dc0a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a8d0e1e2a0601857387c2f191e0af6dfa">read_double</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, double defaultValue, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a configuration parameter of type "double" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#a8d0e1e2a0601857387c2f191e0af6dfa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a953d9cbbf94af8dcc75f58d9b423b559">read_float</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, float defaultValue, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a configuration parameter of type "float" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#a953d9cbbf94af8dcc75f58d9b423b559"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a6c457abe5be85234ab92b8d0ba79ff84">read_bool</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, bool defaultValue, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a configuration parameter of type "bool", codified as "1"/"0" or "true"/"false" or "yes"/"no" for true/false, repectively.  <a href="#a6c457abe5be85234ab92b8d0ba79ff84"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a18caa763a4f9f181ba8a4303711147a3">read_int</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, int defaultValue, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a configuration parameter of type "int" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#a18caa763a4f9f181ba8a4303711147a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a906c4655492eb154da84393e49f0c74b">read_uint64_t</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, uint64_t defaultValue, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a configuration parameter of type "uint64_t": As in all other methods, the numeric value can be in decimal or hexadecimal with the prefix "0x" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#a906c4655492eb154da84393e49f0c74b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#afb0809e3e4a45f1e3559fde584e5bc8b">read_string</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;defaultValue, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a configuration parameter of type "string" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#afb0809e3e4a45f1e3559fde584e5bc8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a6f50164f88bf6212b53e55ea2c19f7f7">read_string_first_word</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;defaultValue, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a configuration parameter of type "string", and keeps only the first word (this can be used to eliminate possible comments at the end of the line) </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#a6f50164f88bf6212b53e55ea2c19f7f7"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTOR_TYPE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#aa270f645c2c413b40e205f1ac52783bd">read_vector</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const VECTOR_TYPE &amp;defaultValue, VECTOR_TYPE &amp;outValues, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a configuration parameter of type vector, stored in the file as a string: "[v1 v2 v3 ... ]", where spaces could also be commas.  <a href="#aa270f645c2c413b40e205f1ac52783bd"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class MATRIX_TYPE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#acb74289bf998e2a2b9685832d0fa8123">read_matrix</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, MATRIX_TYPE &amp;outMatrix, const MATRIX_TYPE &amp;defaultMatrix=MATRIX_TYPE(), bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a configuration parameter as a matrix written in a matlab-like format - for example: "[2 3 4 ; 7 8 9]" This template method can be instantiated for matrices of the types: int, long, unsinged int, unsigned long, float, double, long double </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#acb74289bf998e2a2b9685832d0fa8123"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename ENUMTYPE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">ENUMTYPE&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#ae77c0ebc49d55384ce0258532476eb3d">read_enum</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const ENUMTYPE &amp;defaultValue, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an "enum" value, where the value in the config file can be either a numerical value or the symbolic name, for example: In the code:  <a href="#ae77c0ebc49d55384ce0258532476eb3d"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#a94cc241cc6cb9121e9275e971ed1c33a">writeString</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A virtual method to write a generic string.  <a href="#a94cc241cc6cb9121e9275e971ed1c33a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#a9bc2f3a2fe91fbd9207c07ae88c3bc65">readString</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;defaultStr, bool failIfNotFound=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A virtual method to read a generic string.  <a href="#a9bc2f3a2fe91fbd9207c07ae88c3bc65"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#a9a6ae155df35151bdf14388af49d95ef">m_file</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The name of the file.  <a href="#a9a6ae155df35151bdf14388af49d95ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1utils.html#ac3912bceb5e2a4662830ec51584d134b">void_ptr_noncopy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#a54c8d27c171d05bd692ee0455fc2b35f">m_ini</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface to the <a href="file:">file:</a>  <a href="#a54c8d27c171d05bd692ee0455fc2b35f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#abccf737438319124ffd9ed5e36bcdd3b">m_modified</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If modified since load.  <a href="#abccf737438319124ffd9ed5e36bcdd3b"></a><br/></td></tr>
</table>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="abf18b3a13f274c5e649202510845b727"></a><!-- doxytag: member="mrpt::utils::CConfigFile::CConfigFile" ref="abf18b3a13f274c5e649202510845b727" args="(const std::string &amp;fileName)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::utils::CConfigFile::CConfigFile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor that opens a configuration file. </p>

</div>
</div>
<a class="anchor" id="ad1d001b2971959053eae9b7c3a7ca670"></a><!-- doxytag: member="mrpt::utils::CConfigFile::CConfigFile" ref="ad1d001b2971959053eae9b7c3a7ca670" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::utils::CConfigFile::CConfigFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor, does not open any file. </p>
<p>You should call "setFileName" before reading or writting or otherwise nothing will be read and write operations will be eventually lost. However, it's perfectly right to use this object without an associated file, in which case it will behave as an "in-memory" file. </p>

</div>
</div>
<a class="anchor" id="a66f2d454b39714542687149560b0ee37"></a><!-- doxytag: member="mrpt::utils::CConfigFile::~CConfigFile" ref="a66f2d454b39714542687149560b0ee37" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::utils::CConfigFile::~CConfigFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a091309dc02080d0c9b3f517108802f8e"></a><!-- doxytag: member="mrpt::utils::CConfigFile::getAllKeys" ref="a091309dc02080d0c9b3f517108802f8e" args="(const std::string section, vector_string &amp;keys) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CConfigFile::getAllKeys </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacemrpt.html#a4d04fc5241bf87fcaffec90f3b23b1ea">vector_string</a> &amp;&#160;</td>
          <td class="paramname"><em>keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returs a list with all the keys into a section. </p>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a5e750617eddcdae650bf513138f19c5c">mrpt::utils::CConfigFileBase</a>.</p>

</div>
</div>
<a class="anchor" id="a134598f52d24e5fb6f130dcb90207eae"></a><!-- doxytag: member="mrpt::utils::CConfigFile::getAllSections" ref="a134598f52d24e5fb6f130dcb90207eae" args="(vector_string &amp;sections) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CConfigFile::getAllSections </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacemrpt.html#a4d04fc5241bf87fcaffec90f3b23b1ea">vector_string</a> &amp;&#160;</td>
          <td class="paramname"><em>sections</em></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a list with all the section names. </p>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#afaa2b4f8a4c976a524953fa83f724244">mrpt::utils::CConfigFileBase</a>.</p>

</div>
</div>
<a class="anchor" id="afe9631fca69de992a4454f534e3cc703"></a><!-- doxytag: member="mrpt::utils::CConfigFile::getAssociatedFile" ref="afe9631fca69de992a4454f534e3cc703" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> mrpt::utils::CConfigFile::getAssociatedFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the file currently open by this object. </p>

<p>Definition at line <a class="el" href="_c_config_file_8h_source.html#l00094">94</a> of file <a class="el" href="_c_config_file_8h_source.html">CConfigFile.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6c457abe5be85234ab92b8d0ba79ff84"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_bool" ref="a6c457abe5be85234ab92b8d0ba79ff84" args="(const std::string &amp;section, const std::string &amp;name, bool defaultValue, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::utils::CConfigFileBase::read_bool </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a configuration parameter of type "bool", codified as "1"/"0" or "true"/"false" or "yes"/"no" for true/false, repectively. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8d0e1e2a0601857387c2f191e0af6dfa"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_double" ref="a8d0e1e2a0601857387c2f191e0af6dfa" args="(const std::string &amp;section, const std::string &amp;name, double defaultValue, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::CConfigFileBase::read_double </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a configuration parameter of type "double" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
</p>
<p>Otherwise the "defaultValue" is returned. </p>

</div>
</div>
<a class="anchor" id="ae77c0ebc49d55384ce0258532476eb3d"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_enum" ref="ae77c0ebc49d55384ce0258532476eb3d" args="(const std::string &amp;section, const std::string &amp;name, const ENUMTYPE &amp;defaultValue, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ENUMTYPE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">ENUMTYPE mrpt::utils::CConfigFileBase::read_enum </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ENUMTYPE &amp;&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads an "enum" value, where the value in the config file can be either a numerical value or the symbolic name, for example: In the code: </p>
<div class="fragment"><pre class="fragment">    <span class="keyword">enum</span> my_type_t { type_foo=0, type_bar };
</pre></div><p> In the config <a href="file:">file:</a> </p>
<div class="fragment"><pre class="fragment">    [section]
    type   = type_bar   <span class="comment">// Use the symbolic name, or</span>
    type   = 1          <span class="comment">// use the numerical value (both lines will be equivalent)</span>
</pre></div><p> Which can be loaded with: </p>
<div class="fragment"><pre class="fragment">    cfgfile.read_enum&lt;my_type_t&gt;(<span class="stringliteral">&quot;section&quot;</span>,<span class="stringliteral">&quot;type&quot;</span>, type_foo );
</pre></div><dl class="note"><dt><b>Note:</b></dt><dd>For an enum type to work with this template it is required that it defines a specialization of <a class="el" href="structmrpt_1_1utils_1_1_t_enum_type.html" title="A helper class that can convert an enum value into its textual representation, and viceversa...">mrpt::utils::TEnumType</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_config_file_base_8h_source.html#l00238">238</a> of file <a class="el" href="_c_config_file_base_8h_source.html">CConfigFileBase.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="mrpt__macros_8h_source.html#l00131">THROW_EXCEPTION</a>, <a class="el" href="namespacemrpt.html#a3a27af794b658df5491e2b7678f8ccb8">mrpt::format()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="a953d9cbbf94af8dcc75f58d9b423b559"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_float" ref="a953d9cbbf94af8dcc75f58d9b423b559" args="(const std::string &amp;section, const std::string &amp;name, float defaultValue, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::utils::CConfigFileBase::read_float </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a configuration parameter of type "float" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
</p>
<p>Otherwise the "defaultValue" is returned. </p>

</div>
</div>
<a class="anchor" id="a18caa763a4f9f181ba8a4303711147a3"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_int" ref="a18caa763a4f9f181ba8a4303711147a3" args="(const std::string &amp;section, const std::string &amp;name, int defaultValue, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mrpt::utils::CConfigFileBase::read_int </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a configuration parameter of type "int" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
</p>
<p>Otherwise the "defaultValue" is returned. </p>

</div>
</div>
<a class="anchor" id="acb74289bf998e2a2b9685832d0fa8123"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_matrix" ref="acb74289bf998e2a2b9685832d0fa8123" args="(const std::string &amp;section, const std::string &amp;name, MATRIX_TYPE &amp;outMatrix, const MATRIX_TYPE &amp;defaultMatrix=MATRIX_TYPE(), bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MATRIX_TYPE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::read_matrix </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MATRIX_TYPE &amp;&#160;</td>
          <td class="paramname"><em>outMatrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATRIX_TYPE &amp;&#160;</td>
          <td class="paramname"><em>defaultMatrix</em> = <code>MATRIX_TYPE()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a configuration parameter as a matrix written in a matlab-like format - for example: "[2 3 4 ; 7 8 9]" This template method can be instantiated for matrices of the types: int, long, unsinged int, unsigned long, float, double, long double </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
</p>
<p>Otherwise the "defaultValue" is returned. </p>

<p>Definition at line <a class="el" href="_c_config_file_base_8h_source.html#l00201">201</a> of file <a class="el" href="_c_config_file_base_8h_source.html">CConfigFileBase.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h.html#a61a8d46146210ee20fa1ff423257a5ec">THROW_EXCEPTION_CUSTOM_MSG1</a>.</p>

</div>
</div>
<a class="anchor" id="afb0809e3e4a45f1e3559fde584e5bc8b"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_string" ref="afb0809e3e4a45f1e3559fde584e5bc8b" args="(const std::string &amp;section, const std::string &amp;name, const std::string &amp;defaultValue, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> mrpt::utils::CConfigFileBase::read_string </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a configuration parameter of type "string" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
</p>
<p>Otherwise the "defaultValue" is returned. </p>

</div>
</div>
<a class="anchor" id="a6f50164f88bf6212b53e55ea2c19f7f7"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_string_first_word" ref="a6f50164f88bf6212b53e55ea2c19f7f7" args="(const std::string &amp;section, const std::string &amp;name, const std::string &amp;defaultValue, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> mrpt::utils::CConfigFileBase::read_string_first_word </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a configuration parameter of type "string", and keeps only the first word (this can be used to eliminate possible comments at the end of the line) </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
</p>
<p>Otherwise the "defaultValue" is returned. </p>

</div>
</div>
<a class="anchor" id="a906c4655492eb154da84393e49f0c74b"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_uint64_t" ref="a906c4655492eb154da84393e49f0c74b" args="(const std::string &amp;section, const std::string &amp;name, uint64_t defaultValue, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t mrpt::utils::CConfigFileBase::read_uint64_t </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a configuration parameter of type "uint64_t": As in all other methods, the numeric value can be in decimal or hexadecimal with the prefix "0x" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. </td></tr>
  </table>
  </dd>
</dl>
</p>
<p>Otherwise the "defaultValue" is returned. </p>

</div>
</div>
<a class="anchor" id="aa270f645c2c413b40e205f1ac52783bd"></a><!-- doxytag: member="mrpt::utils::CConfigFile::read_vector" ref="aa270f645c2c413b40e205f1ac52783bd" args="(const std::string &amp;section, const std::string &amp;name, const VECTOR_TYPE &amp;defaultValue, VECTOR_TYPE &amp;outValues, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTOR_TYPE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::read_vector </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VECTOR_TYPE &amp;&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">VECTOR_TYPE &amp;&#160;</td>
          <td class="paramname"><em>outValues</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a configuration parameter of type vector, stored in the file as a string: "[v1 v2 v3 ... ]", where spaces could also be commas. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_config_file_base_8h_source.html#l00166">166</a> of file <a class="el" href="_c_config_file_base_8h_source.html">CConfigFileBase.h</a>.</p>

<p>References <a class="el" href="group__string__manage.html#gaf5cda8c9ad3e48a986e53151b6043ce6">mrpt::system::tokenize()</a>.</p>

</div>
</div>
<a class="anchor" id="a9bc2f3a2fe91fbd9207c07ae88c3bc65"></a><!-- doxytag: member="mrpt::utils::CConfigFile::readString" ref="a9bc2f3a2fe91fbd9207c07ae88c3bc65" args="(const std::string &amp;section, const std::string &amp;name, const std::string &amp;defaultStr, bool failIfNotFound=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> mrpt::utils::CConfigFile::readString </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>defaultStr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>failIfNotFound</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A virtual method to read a generic string. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#acd312c4eedaf9dc94fd5f4fda1783738">mrpt::utils::CConfigFileBase</a>.</p>

</div>
</div>
<a class="anchor" id="ab3689f00ff5268774f9967103a088f7f"></a><!-- doxytag: member="mrpt::utils::CConfigFile::sectionExists" ref="ab3689f00ff5268774f9967103a088f7f" args="(const std::string &amp;section_name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::utils::CConfigFileBase::sectionExists </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section_name</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks if a given section exists (name is case insensitive) </p>

</div>
</div>
<a class="anchor" id="aafcefa07b09c2c41a18f75c2ae4df83e"></a><!-- doxytag: member="mrpt::utils::CConfigFile::setFileName" ref="aafcefa07b09c2c41a18f75c2ae4df83e" args="(const std::string &amp;fil_path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFile::setFileName </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>fil_path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Associate this object with the given file, so future read/write operations will be applied to that file (it's synchronized at destruction). </p>

</div>
</div>
<a class="anchor" id="a8df61de014e456e2e13f8ea30d445683"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="a8df61de014e456e2e13f8ea30d445683" args="(const std::string &amp;section, const std::string &amp;name, double value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "double". </p>

</div>
</div>
<a class="anchor" id="a49a3ed035ffa9772f68e6c415e397584"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="a49a3ed035ffa9772f68e6c415e397584" args="(const std::string &amp;section, const std::string &amp;name, float value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "float". </p>

</div>
</div>
<a class="anchor" id="aadc1ef735eb9f07830c8b55c5eed28b3"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="aadc1ef735eb9f07830c8b55c5eed28b3" args="(const std::string &amp;section, const std::string &amp;name, int value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "int". </p>

</div>
</div>
<a class="anchor" id="aef7e359e9f6f16bbaeb99776d7102083"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="aef7e359e9f6f16bbaeb99776d7102083" args="(const std::string &amp;section, const std::string &amp;name, unsigned int value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "unsigned int". </p>

</div>
</div>
<a class="anchor" id="a2ce95be928f6aee6aa1654bd372b809c"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="a2ce95be928f6aee6aa1654bd372b809c" args="(const std::string &amp;section, const std::string &amp;name, const std::string &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "string". </p>

</div>
</div>
<a class="anchor" id="a1e0f53e1198face3f91d3285c7155ebd"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="a1e0f53e1198face3f91d3285c7155ebd" args="(const std::string &amp;section, const std::string &amp;name, const std::vector&lt; int &gt; &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "std::vector&lt;int&gt;". </p>

</div>
</div>
<a class="anchor" id="afe8443c6e20a287b5faaa4cd6358ee38"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="afe8443c6e20a287b5faaa4cd6358ee38" args="(const std::string &amp;section, const std::string &amp;name, const std::vector&lt; unsigned int &gt; &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; unsigned int &gt; &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "std::vector&lt;unsigned int&gt;". </p>

</div>
</div>
<a class="anchor" id="aff8905776d96937584740078a97579b4"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="aff8905776d96937584740078a97579b4" args="(const std::string &amp;section, const std::string &amp;name, const std::vector&lt; float &gt; &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "std::vector&lt;float&gt;". </p>

</div>
</div>
<a class="anchor" id="aa018214a8347758dce0f044af43eacb4"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="aa018214a8347758dce0f044af43eacb4" args="(const std::string &amp;section, const std::string &amp;name, const std::vector&lt; double &gt; &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "std::vector&lt;double&gt;". </p>

</div>
</div>
<a class="anchor" id="a1de2699a589e9dbaf4776a29e7a8dc0a"></a><!-- doxytag: member="mrpt::utils::CConfigFile::write" ref="a1de2699a589e9dbaf4776a29e7a8dc0a" args="(const std::string &amp;section, const std::string &amp;name, const std::vector&lt; bool &gt; &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFileBase::write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; bool &gt; &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save a configuration parameter of type "std::vector&lt;bool&gt;". </p>

</div>
</div>
<a class="anchor" id="afa330002e3a5e166f57441184301a5ab"></a><!-- doxytag: member="mrpt::utils::CConfigFile::writeNow" ref="afa330002e3a5e166f57441184301a5ab" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFile::writeNow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dumps the changes to the physical configuration file now, not waiting until destruction. </p>

</div>
</div>
<a class="anchor" id="a94cc241cc6cb9121e9275e971ed1c33a"></a><!-- doxytag: member="mrpt::utils::CConfigFile::writeString" ref="a94cc241cc6cb9121e9275e971ed1c33a" args="(const std::string &amp;section, const std::string &amp;name, const std::string &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CConfigFile::writeString </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A virtual method to write a generic string. </p>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html#a2875d663230ca4268f1f545a19799c1d">mrpt::utils::CConfigFileBase</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a9a6ae155df35151bdf14388af49d95ef"></a><!-- doxytag: member="mrpt::utils::CConfigFile::m_file" ref="a9a6ae155df35151bdf14388af49d95ef" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#a9a6ae155df35151bdf14388af49d95ef">mrpt::utils::CConfigFile::m_file</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The name of the file. </p>

<p>Definition at line <a class="el" href="_c_config_file_8h_source.html#l00052">52</a> of file <a class="el" href="_c_config_file_8h_source.html">CConfigFile.h</a>.</p>

</div>
</div>
<a class="anchor" id="a54c8d27c171d05bd692ee0455fc2b35f"></a><!-- doxytag: member="mrpt::utils::CConfigFile::m_ini" ref="a54c8d27c171d05bd692ee0455fc2b35f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacemrpt_1_1utils.html#ac3912bceb5e2a4662830ec51584d134b">void_ptr_noncopy</a> <a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#a54c8d27c171d05bd692ee0455fc2b35f">mrpt::utils::CConfigFile::m_ini</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The interface to the <a href="file:">file:</a> </p>

<p>Definition at line <a class="el" href="_c_config_file_8h_source.html#l00056">56</a> of file <a class="el" href="_c_config_file_8h_source.html">CConfigFile.h</a>.</p>

</div>
</div>
<a class="anchor" id="abccf737438319124ffd9ed5e36bcdd3b"></a><!-- doxytag: member="mrpt::utils::CConfigFile::m_modified" ref="abccf737438319124ffd9ed5e36bcdd3b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html#abccf737438319124ffd9ed5e36bcdd3b">mrpt::utils::CConfigFile::m_modified</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If modified since load. </p>

<p>Definition at line <a class="el" href="_c_config_file_8h_source.html#l00060">60</a> of file <a class="el" href="_c_config_file_8h_source.html">CConfigFile.h</a>.</p>

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>