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