<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Appendices</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="../property_tree.html" title="Chapter 14. Boost.PropertyTree"> <link rel="prev" href="../boost_propertytree/accessing.html" title="How to Access Data in a Property Tree"> <link rel="next" href="reference.html" title="Reference"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td> <td align="center"><a href="../../../index.html">Home</a></td> <td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> <td align="center"><a href="../../../more/index.htm">More</a></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="../boost_propertytree/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> </div> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="property_tree.appendices"></a><a class="link" href="appendices.html" title="Appendices">Appendices</a> </h2></div></div></div> <a name="property_tree.appendices.compatibility"></a><h4> <a name="id2123535"></a> <a class="link" href="appendices.html#property_tree.appendices.compatibility">Compatibility</a> </h4> <p> Property tree uses partial class template specialization. There has been no attempt to work around lack of support for this. The library will therefore most probably not work with Visual C++ 7.0 or earlier, or gcc 2.x. </p> <p> Property tree has been tested (regressions successfully compiled and run) with the following compilers: </p> <div class="itemizedlist"><ul class="itemizedlist" type="disc"> <li class="listitem"> Visual C++ 8.0 </li> <li class="listitem"> gcc 3.4.2 (MinGW) </li> <li class="listitem"> gcc 3.3.5 (Linux) </li> <li class="listitem"> gcc 3.4.4 (Linux) </li> <li class="listitem"> gcc 4.3.3 (Linux) </li> <li class="listitem"> Intel C++ 9.0 (Linux) </li> </ul></div> <a name="property_tree.appendices.rationale"></a><h4> <a name="id2123615"></a> <a class="link" href="appendices.html#property_tree.appendices.rationale">Rationale</a> </h4> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> <span class="bold"><strong>Why are there 3 versions of <code class="computeroutput"><a class="link" href="../boost/property_tree/basic_ptree.html#id896942-bb">get</a></code>? Couldn't there be just one?</strong></span> The three versions reflect experience gathered during several of years of using property tree in several different applications. During that time I tried hard to come up with one, proper form of the get function, and failed. I know of these three basic patterns of usage: <div class="itemizedlist"><ul class="itemizedlist" type="disc"> <li class="listitem"> <span class="emphasis"><em>Just get the data and I do not care if it cannot be done.</em></span> This is used when the programmer is fairly sure that data exists. Or in homework assignments. Or when tomorrow is final deadline for your project. </li> <li class="listitem"> <span class="emphasis"><em>Get the data and revert to default value if it cannot be done.</em></span> Used when you want to allow omitting the key in question. Implemented by some similar tools (windows INI file access functions). </li> <li class="listitem"> <span class="emphasis"><em>Get the data, but I care more whether you succeeded than I do for the data itself.</em></span> Used when you want to vary control flow depending on get success/failure. Or to check for presence of a key. </li> </ul></div> </li> <li class="listitem"> <span class="bold"><strong>Why does the separator character come before the path and not after as one would expect?</strong></span> It helps with overload resolution in some cases. </li> </ol></div> <a name="property_tree.appendices.future_development"></a><h4> <a name="id2123732"></a> <a class="link" href="appendices.html#property_tree.appendices.future_development">Future Development</a> </h4> <div class="itemizedlist"><ul class="itemizedlist" type="disc"> <li class="listitem"> More parsers: YAML, environment strings. </li> <li class="listitem"> More robust XML parser. </li> <li class="listitem"> Mathematical relations: ptree difference, union, intersection. Useful for finding configuration file changes etc. </li> </ul></div> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <td align="left"></td> <td align="right"><div class="copyright-footer">Copyright © 2008 Marcin Kalicinski<p> Distributed under the Boost Software License, Version 1.0. (See accompanying 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>) </p> </div></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="../boost_propertytree/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> </div> </body> </html>