• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>Appendices</title>
6<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
7<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
8<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
9<link rel="up" href="../property_tree.html" title="Chapter 31. Boost.PropertyTree">
10<link rel="prev" href="accessing.html" title="How to Access Data in a Property Tree">
11<link rel="next" href="reference.html" title="Reference">
12</head>
13<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14<table cellpadding="2" width="100%"><tr>
15<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
16<td align="center"><a href="../../../index.html">Home</a></td>
17<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
18<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
19<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
20<td align="center"><a href="../../../more/index.htm">More</a></td>
21</tr></table>
22<hr>
23<div class="spirit-nav">
24<a accesskey="p" href="accessing.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../property_tree.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
25</div>
26<div class="section">
27<div class="titlepage"><div><div><h2 class="title" style="clear: both">
28<a name="property_tree.appendices"></a><a class="link" href="appendices.html" title="Appendices">Appendices</a>
29</h2></div></div></div>
30<h4>
31<a name="property_tree.appendices.h0"></a>
32      <span class="phrase"><a name="property_tree.appendices.compatibility"></a></span><a class="link" href="appendices.html#property_tree.appendices.compatibility">Compatibility</a>
33    </h4>
34<p>
35      Property tree uses partial class template specialization. There has been no
36      attempt to work around lack of support for this. The library will therefore
37      most probably not work with Visual C++ 7.0 or earlier, or gcc 2.x.
38    </p>
39<p>
40      Property tree has been tested (regressions successfully compiled and run) with
41      the following compilers:
42    </p>
43<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
44<li class="listitem">
45          Visual C++ 8.0
46        </li>
47<li class="listitem">
48          gcc 3.4.2 (MinGW)
49        </li>
50<li class="listitem">
51          gcc 3.3.5 (Linux)
52        </li>
53<li class="listitem">
54          gcc 3.4.4 (Linux)
55        </li>
56<li class="listitem">
57          gcc 4.3.3 (Linux)
58        </li>
59<li class="listitem">
60          Intel C++ 9.0 (Linux)
61        </li>
62</ul></div>
63<h4>
64<a name="property_tree.appendices.h1"></a>
65      <span class="phrase"><a name="property_tree.appendices.rationale"></a></span><a class="link" href="appendices.html#property_tree.appendices.rationale">Rationale</a>
66    </h4>
67<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
68          <span class="bold"><strong>Why are there 3 versions of <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#id-1_3_32_10_7_1_1_1_3_63-bb">get</a></code>?
69          Couldn't there be just one?</strong></span> The three versions reflect experience
70          gathered during several of years of using property tree in several different
71          applications. During that time I tried hard to come up with one, proper
72          form of the get function, and failed. I know of these three basic patterns
73          of usage:
74          <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
75<li class="listitem">
76                <span class="emphasis"><em>Just get the data and I do not care if it cannot be done.</em></span>
77                This is used when the programmer is fairly sure that data exists.
78                Or in homework assignments. Or when tomorrow is final deadline for
79                your project.
80              </li>
81<li class="listitem">
82                <span class="emphasis"><em>Get the data and revert to default value if it cannot be
83                done.</em></span> Used when you want to allow omitting the key in
84                question. Implemented by some similar tools (windows INI file access
85                functions).
86              </li>
87<li class="listitem">
88                <span class="emphasis"><em>Get the data, but I care more whether you succeeded than
89                I do for the data itself.</em></span> Used when you want to vary control
90                flow depending on get success/failure. Or to check for presence of
91                a key.
92              </li>
93</ul></div>
94        </li></ol></div>
95<h4>
96<a name="property_tree.appendices.h2"></a>
97      <span class="phrase"><a name="property_tree.appendices.future_development"></a></span><a class="link" href="appendices.html#property_tree.appendices.future_development">Future
98      Development</a>
99    </h4>
100<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
101<li class="listitem">
102          More parsers: YAML, environment strings.
103        </li>
104<li class="listitem">
105          More robust XML parser.
106        </li>
107<li class="listitem">
108          Mathematical relations: ptree difference, union, intersection. Useful for
109          finding configuration file changes etc.
110        </li>
111</ul></div>
112</div>
113<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
114<td align="left"></td>
115<td align="right"><div class="copyright-footer">Copyright © 2008-2010 Marcin Kalicinski<br>Copyright © 2010-2013 Sebastian
116      Redl<p>
117        Distributed under the Boost Software License, Version 1.0. (See accompanying
118        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
119      </p>
120</div></td>
121</tr></table>
122<hr>
123<div class="spirit-nav">
124<a accesskey="p" href="accessing.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../property_tree.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
125</div>
126</body>
127</html>
128