summaryrefslogtreecommitdiff
path: root/doc/html/property_tree/accessing.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/property_tree/accessing.html')
-rw-r--r--doc/html/property_tree/accessing.html92
1 files changed, 46 insertions, 46 deletions
diff --git a/doc/html/property_tree/accessing.html b/doc/html/property_tree/accessing.html
index c87b87bc72..cad9b1cc94 100644
--- a/doc/html/property_tree/accessing.html
+++ b/doc/html/property_tree/accessing.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>How to Access Data in a Property Tree</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../property_tree.html" title="Chapter&#160;25.&#160;Boost.PropertyTree">
+<link rel="up" href="../property_tree.html" title="Chapter&#160;28.&#160;Boost.PropertyTree">
<link rel="prev" href="parsers.html" title="How to Populate a Property Tree">
<link rel="next" href="appendices.html" title="Appendices">
</head>
@@ -31,23 +31,23 @@
<p>
Property tree resembles (almost is) a standard container with value type of
<code class="computeroutput"><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">ptree</span><span class="special">&gt;</span></code>.
- It has the usual member functions, such as <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp127981664-bb">insert</a></code>,
- <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp77630432-bb">push_back</a></code>,
- <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp193833552-bb">find</a></code>,
- <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp188091616-bb">erase</a></code>,
+ It has the usual member functions, such as <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245502496-bb">insert</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245486448-bb">push_back</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245466400-bb">find</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245494352-bb">erase</a></code>,
etc. These can of course be used to populate and access the tree. For example
the following code adds key <code class="computeroutput"><span class="string">"pi"</span></code>
with data (almost) equal to mathematical <span class="emphasis"><em>pi</em></span> value:
</p>
<pre class="programlisting"><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code> <span class="identifier">pt</span><span class="special">;</span>
-<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp77630432-bb">push_back</a></code><span class="special">(</span><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code><span class="special">::</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#boost.property_tree.basic_ptree.value_type">value_type</a></code><span class="special">(</span><span class="string">"pi"</span><span class="special">,</span> <code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code><span class="special">(</span><span class="string">"3.14159"</span><span class="special">)));</span>
+<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245486448-bb">push_back</a></code><span class="special">(</span><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code><span class="special">::</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#boost.property_tree.basic_ptree.value_type">value_type</a></code><span class="special">(</span><span class="string">"pi"</span><span class="special">,</span> <code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code><span class="special">(</span><span class="string">"3.14159"</span><span class="special">)));</span>
</pre>
<p>
To find the value of <code class="computeroutput"><span class="identifier">pi</span></code> we
might do the following:
</p>
-<pre class="programlisting"><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code><span class="special">::</span><code class="computeroutput">const_iterator</code> <span class="identifier">it</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp193833552-bb">find</a></code><span class="special">(</span><span class="string">"pi"</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">it</span><span class="special">-&gt;</span><span class="identifier">second</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp190581296-bb">data</a></code><span class="special">());</span>
+<pre class="programlisting"><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code><span class="special">::</span><code class="computeroutput">const_iterator</code> <span class="identifier">it</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245466400-bb">find</a></code><span class="special">(</span><span class="string">"pi"</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">it</span><span class="special">-&gt;</span><span class="identifier">second</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245447776-bb">data</a></code><span class="special">());</span>
</pre>
<p>
This looks quite cumbersome, and would be even more so if <code class="computeroutput"><span class="identifier">pi</span></code>
@@ -56,19 +56,19 @@
it:
</p>
<pre class="programlisting"><span class="identifier">ptree</span> <span class="identifier">pt</span><span class="special">;</span>
-<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code><span class="special">(</span><span class="string">"pi"</span><span class="special">,</span> <span class="number">3.14159</span><span class="special">);</span> <span class="comment">// put double</span>
-<span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="string">"pi"</span><span class="special">);</span> <span class="comment">// get double</span>
+<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code><span class="special">(</span><span class="string">"pi"</span><span class="special">,</span> <span class="number">3.14159</span><span class="special">);</span> <span class="comment">// put double</span>
+<span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="string">"pi"</span><span class="special">);</span> <span class="comment">// get double</span>
</pre>
<p>
It doesn't get simpler than that. Basically, there are 2 families of member
- functions, <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code>
- and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code>,
+ functions, <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code>
+ and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code>,
which allow intuitive access to data stored in the tree (direct children or
not).
</p>
<h4>
<a name="property_tree.accessing.h0"></a>
- <span><a name="property_tree.accessing.three_ways_of_getting_data"></a></span><a class="link" href="accessing.html#property_tree.accessing.three_ways_of_getting_data">Three
+ <span class="phrase"><a name="property_tree.accessing.three_ways_of_getting_data"></a></span><a class="link" href="accessing.html#property_tree.accessing.three_ways_of_getting_data">Three
Ways of Getting Data</a>
</h4>
<p>
@@ -82,11 +82,11 @@
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<p class="simpara">
- The throwing version (<code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code>):
+ The throwing version (<code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code>):
</p>
<pre class="programlisting"><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code> <span class="identifier">pt</span><span class="special">;</span>
<span class="comment">/* ... */</span>
-<span class="keyword">float</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="string">"a.path.to.float.value"</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="string">"a.path.to.float.value"</span><span class="special">);</span>
</pre>
<p class="simpara">
This call locates the proper node in the tree and tries to translate its
@@ -99,11 +99,11 @@
</li>
<li class="listitem">
<p class="simpara">
- The default-value version (<code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code>):
+ The default-value version (<code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code>):
</p>
<pre class="programlisting"><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code> <span class="identifier">pt</span><span class="special">;</span>
<span class="comment">/* ... */</span>
-<span class="keyword">float</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code><span class="special">(</span><span class="string">"a.path.to.float.value"</span><span class="special">,</span> <span class="special">-</span><span class="number">1.f</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code><span class="special">(</span><span class="string">"a.path.to.float.value"</span><span class="special">,</span> <span class="special">-</span><span class="number">1.f</span><span class="special">);</span>
</pre>
<p class="simpara">
It will do the same as above, but if it fails, it will return the default
@@ -115,11 +115,11 @@
</li>
<li class="listitem">
<p class="simpara">
- The optional version (<code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp85586320-bb">get_optional</a></code>):
+ The optional version (<code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245349248-bb">get_optional</a></code>):
</p>
<pre class="programlisting"><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code> <span class="identifier">pt</span><span class="special">;</span>
<span class="comment">/* ... */</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp85586320-bb">get_optional</a></code><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="string">"a.path.to.float.value"</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245349248-bb">get_optional</a></code><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="string">"a.path.to.float.value"</span><span class="special">);</span>
</pre>
<p class="simpara">
This version uses boost::optional class to handle extraction failure. On
@@ -129,12 +129,12 @@
</li>
</ol></div>
<p>
- To retrieve a value from this tree (not some subkey), use <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp202291776-bb">get_value</a></code>,
- <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp202291776-bb">get_value</a></code>
- (default-value version), and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp194230192-bb">get_value_optional</a></code>.
- They have identical semantics to <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code>
+ To retrieve a value from this tree (not some subkey), use <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245416608-bb">get_value</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245416608-bb">get_value</a></code>
+ (default-value version), and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245390800-bb">get_value_optional</a></code>.
+ They have identical semantics to <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code>
functions, except they don't take the <code class="computeroutput"><a class="link" href="../boost/property_tree/string_path.html" title="Class template string_path">path</a></code>
- parameter. Don't call <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code>
+ parameter. Don't call <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code>
with and empty <code class="computeroutput"><a class="link" href="../boost/property_tree/string_path.html" title="Class template string_path">path</a></code>
to do this as it will try to extract contents of subkey with empty name.
</p>
@@ -150,58 +150,58 @@
<span class="identifier">pt</span><span class="special">.</span><span class="identifier">get_optional</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">path</span><span class="special">(</span><span class="string">"p.a.t.h/t.o/v.a.l.u.e"</span><span class="special">,</span> <span class="char">'/'</span><span class="special">));</span>
</pre>
<p>
- Note: the special overloads of <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code>
- and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp85586320-bb">get_optional</a></code>
+ Note: the special overloads of <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code>
+ and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245349248-bb">get_optional</a></code>
taking a separator character that existed in pre-release versions of PropertyTree
have been removed. This is because the overloads conflicted with using per-call
data translators.
</p>
<h4>
<a name="property_tree.accessing.h1"></a>
- <span><a name="property_tree.accessing.two_ways_of_putting_data"></a></span><a class="link" href="accessing.html#property_tree.accessing.two_ways_of_putting_data">Two
+ <span class="phrase"><a name="property_tree.accessing.two_ways_of_putting_data"></a></span><a class="link" href="accessing.html#property_tree.accessing.two_ways_of_putting_data">Two
Ways of Putting Data</a>
</h4>
<p>
- To complement <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code>,
- there are <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code>
- and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp195984528-bb">add</a></code>.
- Contrary to <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code>,
+ To complement <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code>,
+ there are <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code>
+ and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245329264-bb">add</a></code>.
+ Contrary to <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code>,
they have only one variant each. This is because there is no need to deal with
missing values when adding data. If the supplied value cannot be converted
to the tree's data type, the functions will throw <code class="computeroutput"><a class="link" href="../boost/property_tree/ptree_bad_data.html" title="Class ptree_bad_data">ptree_bad_data</a></code>.
</p>
<pre class="programlisting"><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code> <span class="identifier">pt</span><span class="special">;</span>
-<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code><span class="special">(</span><span class="string">"a.path.to.float.value"</span><span class="special">,</span> <span class="number">3.14f</span><span class="special">);</span>
+<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code><span class="special">(</span><span class="string">"a.path.to.float.value"</span><span class="special">,</span> <span class="number">3.14f</span><span class="special">);</span>
<span class="comment">// Overwrites the value</span>
-<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code><span class="special">(</span><span class="string">"a.path.to.float.value"</span><span class="special">,</span> <span class="number">2.72f</span><span class="special">);</span>
+<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code><span class="special">(</span><span class="string">"a.path.to.float.value"</span><span class="special">,</span> <span class="number">2.72f</span><span class="special">);</span>
<span class="comment">// Adds a second node with the new value.</span>
-<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp195984528-bb">add</a></code><span class="special">(</span><span class="string">"a.path.to.float.value"</span><span class="special">,</span> <span class="number">3.14f</span><span class="special">);</span>
+<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245329264-bb">add</a></code><span class="special">(</span><span class="string">"a.path.to.float.value"</span><span class="special">,</span> <span class="number">3.14f</span><span class="special">);</span>
</pre>
<p>
- Calling <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code>
- will insert a new value at specified path, so that a call to <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp183155840-bb">get</a></code>
- specifying the same path will retrieve it. Further, <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code>
+ Calling <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code>
+ will insert a new value at specified path, so that a call to <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245375168-bb">get</a></code>
+ specifying the same path will retrieve it. Further, <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code>
will insert any missing path elements during path traversal. For example, calling
- <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a><span class="special">(</span><span class="string">"key1.key2.key3"</span><span class="special">,</span> <span class="number">3.14f</span><span class="special">)</span></code>
+ <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a><span class="special">(</span><span class="string">"key1.key2.key3"</span><span class="special">,</span> <span class="number">3.14f</span><span class="special">)</span></code>
on an empty tree will insert three new children: <code class="computeroutput"><span class="identifier">key1</span></code>,
<code class="computeroutput"><span class="identifier">key1</span><span class="special">.</span><span class="identifier">key2</span></code> and <code class="computeroutput"><span class="identifier">key1</span><span class="special">.</span><span class="identifier">key2</span><span class="special">.</span><span class="identifier">key3</span></code>. The last one will receive a string
<code class="computeroutput"><span class="string">"3.14"</span></code> as data, while
- the two former ones will have empty data strings. <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code>
+ the two former ones will have empty data strings. <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code>
always inserts new keys at the back of the existing sequences. The difference
- between <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code>
- and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp195984528-bb">add</a></code>
+ between <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code>
+ and <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245329264-bb">add</a></code>
is that put will overwrite existing values if there are any, while add will
create a new node to hold the value even if the specified path references an
existing node.
</p>
<p>
- Similar to <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp202291776-bb">get_value</a></code>,
- there is also a <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp68149520-bb">put_value</a></code>
- function. It does the same for this property tree what <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp125435104-bb">put</a></code>
+ Similar to <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245416608-bb">get_value</a></code>,
+ there is also a <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245383664-bb">put_value</a></code>
+ function. It does the same for this property tree what <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245340112-bb">put</a></code>
does for its children. Thus, it does not receive a <code class="computeroutput"><a class="link" href="../boost/property_tree/string_path.html" title="Class template string_path">path</a></code>:
</p>
<pre class="programlisting"><code class="computeroutput"><a class="link" href="../boost/property_tree/ptree.html" title="Type definition ptree">ptree</a></code> <span class="identifier">pt</span><span class="special">;</span>
-<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idp68149520-bb">put_value</a></code><span class="special">(</span><span class="number">3.14f</span><span class="special">);</span>
+<span class="identifier">pt</span><span class="special">.</span><code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#idm46563245383664-bb">put_value</a></code><span class="special">(</span><span class="number">3.14f</span><span class="special">);</span>
</pre>
<p>
There is no add_value function.