| 
									
										
										
										
											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:10:48 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | <!-- Copyright (c) 2002-2006 Pavol Droba.
 | 
					
						
							|  |  |  |      Subject to the Boost Software License, Version 1.0.  | 
					
						
							| 
									
										
											  
											
												Merged revisions 43211,43214-43219,43222-43225,43227-43238,43242,43244-43245,43249-43250,43257-43259,43261,43263,43265,43267-43268,43270-43271,43273,43275-43279,43284-43289,43291,43295,43297-43298,43304-43305,43307,43313,43315,43324,43326-43327,43331,43333,43339-43343,43345,43348,43350,43352-43353,43355-43356,43358,43360,43366-43367,43369-43370,43372-43376,43378-43389,43394,43396-43398,43400-43401,43403-43404,43406-43408,43413-43415,43417-43418,43420,43422-43423 via svnmerge from 
https://svn.boost.org/svn/boost/trunk
........
  r43417 | danieljames | 2008-02-26 22:04:55 +0000 (Tue, 26 Feb 2008) | 2 lines
  
  Fix a link to Boost.Bimap.
........
  r43418 | danieljames | 2008-02-26 22:07:25 +0000 (Tue, 26 Feb 2008) | 2 lines
  
  Change another link that's no longer in the repository to link to the website.
........
  r43422 | danieljames | 2008-02-27 18:51:14 +0000 (Wed, 27 Feb 2008) | 1 line
  
  Fix broken copyright urls. Fixes #1573.
........
  r43423 | danieljames | 2008-02-27 19:22:01 +0000 (Wed, 27 Feb 2008) | 1 line
  
  Fix incorrect links to copyright of the form 'http:#www.boost.org
........
[SVN r43425]
											
										 
											2008-02-27 20:00:24 +00:00
										 |  |  |      (See accompanying file LICENSE_1_0.txt or  http://www.boost.org/LICENSE_1_0.txt) | 
					
						
							| 
									
										
										
										
											2006-08-16 07:10:48 +00:00
										 |  |  | --> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  | <section id="string_algo.rationale" last-revision="$Date$"> | 
					
						
							|  |  |  |     <title>Rationale</title> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <using-namespace name="boost"/> | 
					
						
							| 
									
										
										
										
											2004-07-14 21:46:50 +00:00
										 |  |  |     <using-namespace name="boost::algorithm"/> | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  |      | 
					
						
							| 
									
										
										
										
											2004-07-14 21:46:50 +00:00
										 |  |  |    <section it="string_algo.locale"> | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  |         <title>Locales</title> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         <para> | 
					
						
							|  |  |  |             Locales have a very close relation to string processing. They contain information about | 
					
						
							|  |  |  |             the character sets and are used, for example, to change the case of characters and  | 
					
						
							|  |  |  |             to classify the characters.  | 
					
						
							|  |  |  |         </para> | 
					
						
							|  |  |  |         <para> | 
					
						
							|  |  |  |             C++ allows to work with multiple different instances of locales at once. If an algorithm | 
					
						
							|  |  |  |             manipulates some data in a way that requires the usage of locales, there must be a way | 
					
						
							|  |  |  |             to specify them. However, one instance of locales is sufficient for most of the applications, | 
					
						
							| 
									
										
										
										
											2004-07-16 09:06:39 +00:00
										 |  |  |             and for a user it could be very tedious to specify which locales to use at every place  | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  |             where it is needed.  | 
					
						
							|  |  |  |         </para>  | 
					
						
							|  |  |  |         <para> | 
					
						
							|  |  |  |             Fortunately, the C++ standard allows to specify the <emphasis>global</emphasis> locales (using static member | 
					
						
							|  |  |  |             function <code>std:locale::global()</code>). When instantiating an | 
					
						
							|  |  |  |             <code>std::locale</code> class without explicit information, the instance will  | 
					
						
							| 
									
										
										
										
											2004-07-16 09:06:39 +00:00
										 |  |  |             be initialized with the <emphasis>global</emphasis> locale. This implies, that if an algorithm needs a locale, | 
					
						
							| 
									
										
										
										
											2004-07-15 21:47:22 +00:00
										 |  |  |             it should have an <code>std::locale</code> parameter defaulting to  <code>std::locale()</code>. | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  |             If a user needs to specify locales explicitly, she can do so. Otherwise the <emphasis>global</emphasis> | 
					
						
							|  |  |  |             locales are used. | 
					
						
							|  |  |  |         </para> | 
					
						
							|  |  |  |     </section> | 
					
						
							|  |  |  |     <section id="string_algo.regex"> | 
					
						
							|  |  |  |         <title>Regular Expressions</title> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         <para> | 
					
						
							|  |  |  |             Regular expressions are an essential part of text processing. For this reason, the library  | 
					
						
							| 
									
										
										
										
											2004-07-15 21:47:22 +00:00
										 |  |  |             also provides regex variants of some algorithms. The library does not attempt to replace | 
					
						
							|  |  |  |             <libraryname>Boost.Regex</libraryname>; it merely wraps its functionality in a new interface. | 
					
						
							|  |  |  |             As a part of this library, regex algorithms integrate smoothly with other components, which  | 
					
						
							| 
									
										
										
										
											2004-03-04 22:12:19 +00:00
										 |  |  |             brings additional value. | 
					
						
							|  |  |  |         </para> | 
					
						
							|  |  |  |     </section> | 
					
						
							|  |  |  | </section> |