| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  | <?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"> | 
					
						
							| 
									
										
										
										
											2006-08-16 07:17:49 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <!-- Copyright (c) 2002-2006 Pavol Droba.
 | 
					
						
							|  |  |  |      Subject to the Boost Software License, Version 1.0.  | 
					
						
							| 
									
										
										
										
											2008-02-27 18:51:14 +00:00
										 |  |  |      (See accompanying file LICENSE_1_0.txt or  http://www.boost.org/LICENSE_1_0.txt) | 
					
						
							| 
									
										
										
										
											2006-08-16 07:17:49 +00:00
										 |  |  | --> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  | <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  | 
					
						
							| 
									
										
										
										
											2004-07-15 21:47:22 +00:00
										 |  |  |         (like <code>std::basic_string</code>), rather it is as generic as | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  |         possible. This generalization is not compromising the performance since | 
					
						
							|  |  |  |         algorithms are using container specific features when it means a performance | 
					
						
							|  |  |  |         gain. | 
					
						
							|  |  |  |     </para> | 
					
						
							| 
									
										
										
										
											2004-07-14 21:46:50 +00:00
										 |  |  |     <para> | 
					
						
							|  |  |  |         <emphasis role="bold"> | 
					
						
							|  |  |  |             Important note: In this documentation we use term <emphasis>string</emphasis> to  | 
					
						
							|  |  |  |             designate a sequence of <emphasis>characters</emphasis> stored in an arbitrary container. | 
					
						
							|  |  |  |             A <emphasis>string</emphasis> is not restricted to <code>std::basic_string</code> and  | 
					
						
							|  |  |  |             <emphasis>character</emphasis> does not have to be <code>char</code> or <code>wchar_t</code>, | 
					
						
							|  |  |  |             although these are most common candidates. | 
					
						
							|  |  |  |         </emphasis> | 
					
						
							| 
									
										
										
										
											2004-07-15 21:47:22 +00:00
										 |  |  |         Consult the <link linkend="string_algo.design">design chapter</link> to see precise specification of | 
					
						
							| 
									
										
										
										
											2004-07-14 21:46:50 +00:00
										 |  |  |         supported string types. | 
					
						
							|  |  |  |     </para> | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  |     <para>       | 
					
						
							| 
									
										
										
										
											2004-07-15 21:47:22 +00:00
										 |  |  |         The library interface functions and classes are defined in namespace <code>boost::algorithm</code>, and | 
					
						
							|  |  |  |         they are lifted into namespace <code>boost</code> via using declaration. | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  |     </para> | 
					
						
							|  |  |  |     <para> | 
					
						
							|  |  |  |         The documentation is divided into several sections. For a quick start read the  | 
					
						
							| 
									
										
										
										
											2004-07-14 21:46:50 +00:00
										 |  |  |         <link linkend="string_algo.usage">Usage</link> section followed by  | 
					
						
							|  |  |  |         <link linkend="string_algo.quickref">Quick Reference</link>.  | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  |         <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> |