forked from boostorg/algorithm
String Algorithm Library: initial commit
[SVN r22431]
This commit is contained in:
45
string/doc/intro.xml
Normal file
45
string/doc/intro.xml
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
|
||||
"http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
|
||||
<section id="string_algo.intro" last-revision="$Date$">
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>
|
||||
The String Algorithm Library provides a generic implementation of
|
||||
string-related algorithms which are missing in STL. It is an extension
|
||||
to the algorithms library of STL and it includes trimming, case conversion,
|
||||
predicates and find/replace functions. All of them come in different variants
|
||||
so it is easier to choose the best fit for a particular need.
|
||||
</para>
|
||||
<para>
|
||||
The implementation is not restricted to work with a particular container
|
||||
(like a <code>std::basic_string</code>), rather it is as generic as
|
||||
possible. This generalization is not compromising the performance since
|
||||
algorithms are using container specific features when it means a performance
|
||||
gain.
|
||||
</para>
|
||||
<para>
|
||||
The library has layered structure to simplify the usage without sacrificing the
|
||||
generalization.
|
||||
|
||||
The easy-to-use interface, defined in the namespace <code>boost</code>, represents the first layer.
|
||||
Algorithms and classes defined here do not offer a lot of customization opportunities
|
||||
rather they are provided in more different variants, so a user can chose the
|
||||
one that suits her needs.
|
||||
|
||||
The second layer, defined in the namespace <code>boost::string_algo</code>, on the
|
||||
other hand, is generic. Basically it contains the same set of algorithms as the first layer,
|
||||
but the interface is more flexible and allows more customization, but it is harder to use.
|
||||
The first layer is implemented as set of wrappers around the second layer.
|
||||
</para>
|
||||
<para>
|
||||
The documentation is divided into several sections. For a quick start read the
|
||||
<link linkend="string_algo.usage">Usage</link> section.
|
||||
<link linkend="string_algo.design">The Design Topics</link>,
|
||||
<link linkend="string_algo.concept">Concepts</link> and <link linkend="string_algo.rationale">Rationale</link>
|
||||
provide some explanation about the library design and structure an explain how it should be used.
|
||||
See the <link linkend="string_algo.reference">Reference</link> for the complete list of provided utilities
|
||||
and algorithms. Functions and classes in the reference are organized by the headers in which they are defined.
|
||||
The reference contains links to the detailed description for every entity in the library.
|
||||
</para>
|
||||
</section>
|
Reference in New Issue
Block a user