1 | <?xml version="1.0" encoding="utf-8"?> |
---|
2 | <!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" |
---|
3 | "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"> |
---|
4 | |
---|
5 | <!-- Copyright (c) 2002-2006 Pavol Droba. |
---|
6 | Subject to the Boost Software License, Version 1.0. |
---|
7 | (See accompanying file LICENSE-1.0 or http://www.boost.org/LICENSE-1.0) |
---|
8 | --> |
---|
9 | |
---|
10 | <section id="string_algo.intro" last-revision="$Date: 2006/08/16 07:10:48 $"> |
---|
11 | <title>Introduction</title> |
---|
12 | |
---|
13 | <para> |
---|
14 | The String Algorithm Library provides a generic implementation of |
---|
15 | string-related algorithms which are missing in STL. It is an extension |
---|
16 | to the algorithms library of STL and it includes trimming, case conversion, |
---|
17 | predicates and find/replace functions. All of them come in different variants |
---|
18 | so it is easier to choose the best fit for a particular need. |
---|
19 | </para> |
---|
20 | <para> |
---|
21 | The implementation is not restricted to work with a particular container |
---|
22 | (like <code>std::basic_string</code>), rather it is as generic as |
---|
23 | possible. This generalization is not compromising the performance since |
---|
24 | algorithms are using container specific features when it means a performance |
---|
25 | gain. |
---|
26 | </para> |
---|
27 | <para> |
---|
28 | <emphasis role="bold"> |
---|
29 | Important note: In this documentation we use term <emphasis>string</emphasis> to |
---|
30 | designate a sequence of <emphasis>characters</emphasis> stored in an arbitrary container. |
---|
31 | A <emphasis>string</emphasis> is not restricted to <code>std::basic_string</code> and |
---|
32 | <emphasis>character</emphasis> does not have to be <code>char</code> or <code>wchar_t</code>, |
---|
33 | although these are most common candidates. |
---|
34 | </emphasis> |
---|
35 | Consult the <link linkend="string_algo.design">design chapter</link> to see precise specification of |
---|
36 | supported string types. |
---|
37 | </para> |
---|
38 | <para> |
---|
39 | The library interface functions and classes are defined in namespace <code>boost::algorithm</code>, and |
---|
40 | they are lifted into namespace <code>boost</code> via using declaration. |
---|
41 | </para> |
---|
42 | <para> |
---|
43 | The documentation is divided into several sections. For a quick start read the |
---|
44 | <link linkend="string_algo.usage">Usage</link> section followed by |
---|
45 | <link linkend="string_algo.quickref">Quick Reference</link>. |
---|
46 | <link linkend="string_algo.design">The Design Topics</link>, |
---|
47 | <link linkend="string_algo.concept">Concepts</link> and <link linkend="string_algo.rationale">Rationale</link> |
---|
48 | provide some explanation about the library design and structure an explain how it should be used. |
---|
49 | See the <link linkend="string_algo.reference">Reference</link> for the complete list of provided utilities |
---|
50 | and algorithms. Functions and classes in the reference are organized by the headers in which they are defined. |
---|
51 | The reference contains links to the detailed description for every entity in the library. |
---|
52 | </para> |
---|
53 | </section> |
---|