<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Environment</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="../string_algo.html" title="Chapter&#160;21.&#160;Boost String Algorithms Library">
<link rel="prev" href="rationale.html" title="Rationale">
<link rel="next" href="credits.html" title="Credits">
</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="rationale.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.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="credits.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="string_algo.env"></a>Environment</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="env.html#id2644268">Build</a></span></dt>
<dt><span class="section"><a href="env.html#id2644295">Examples</a></span></dt>
<dt><span class="section"><a href="env.html#id2644311">Tests</a></span></dt>
<dt><span class="section"><a href="env.html#id2644326">Portability</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2644268"></a>Build</h3></div></div></div>
<p>
            The whole library is provided in headers. Regex variants of some algorithms, 
            however, are dependent on the Boost.Regex library. All such algorithms are
            separated in <code class="computeroutput"><a class="link" href="reference.html#header.boost.algorithm.string_regex_hpp" title="Header &lt;boost/algorithm/string_regex.hpp&gt;">boost/algorithm/string_regex.hpp</a></code>. 
            If this header is used, the application must be linked with the Boost.Regex 
            library. 
        </p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2644295"></a>Examples</h3></div></div></div>
<p>
            Examples showing the basic usage of the library can be found in the libs/algorithm/string/example
            directory. There is a separate file for the each part of the library. Please follow the boost
            build guidelines to build examples using the bjam. To successfully build regex examples 
            the Boost.Regex library is required. 
        </p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2644311"></a>Tests</h3></div></div></div>
<p>
            A full set of test cases for the library is located in the libs/algorithm/string/test directory. 
            The test cases can be executed using the boost build system. For the tests of regular 
            expression variants of algorithms, the Boost.Regex library is required. 
        </p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2644326"></a>Portability</h3></div></div></div>
<p>
            The library has been successfully compiled and tested with the following compilers:
            
            </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">Microsoft Visual C++ 7.0</li>
<li class="listitem">Microsoft Visual C++ 7.1</li>
<li class="listitem">GCC 3.2</li>
<li class="listitem">GCC 3.3.1</li>
</ul></div>
<p>

            See <a href="http://boost.sourceforge.net/regression-logs/" target="_top">Boost regression tables</a>
            for additional info for a particular compiler.
        </p>
<p>
            There are known limitation on platforms not supporting partial template specialization. 
            Library depends on correctly implemented <code class="computeroutput">std::iterator_traits</code> class. 
            If a standard library provided with compiler is broken, the String Algorithm Library 
            cannot function properly. Usually it implies that primitive pointer iterators are not 
            working with the library functions. 
        </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: February 27, 2008 at 20:00:24 +0000</small></p></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2004 Pavol Droba<p>Use, modification and distribution is subject to the Boost
                Software License, Version 1.0. (See accompanying file
                <code class="filename">LICENSE_1_0.txt</code> 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="rationale.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.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="credits.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
