Compare commits

..

75 Commits

Author SHA1 Message Date
Daniel James
84a2aaeae1 Branch for working on the documentation tools documentation.
[SVN r68640]
2011-02-04 21:18:24 +00:00
Pavol Droba
caea7bd125 trim_all test fixed
[SVN r68173]
2011-01-15 18:37:46 +00:00
Steven Watanabe
81b04cde96 Revert [67111] (addition of boost/detail/iomanip.hpp) and all the commits that depend on it. ([68137], [68140], [68141], [68154], and [68165]).
[SVN r68168]
2011-01-15 08:11:51 +00:00
Pavol Droba
276073ca64 tabs removed
[SVN r68162]
2011-01-14 23:12:32 +00:00
Pavol Droba
a7f5bdd781 trim_all algorithm added
[SVN r68161]
2011-01-14 23:06:14 +00:00
Bryce Adelstein-Lelbach
0c0a866f07 Replacing the use of <iomanip> with <boost/detail/iomanip.hpp> across Boost.
On Linux, GNU's libstdc++, which is the default stdlib for icc and clang,
cannot parse the <iomanip> header in version 4.5+ (which thankfully neither
compiler advises the use of yet), as it's original C++98-friendly
implementation has been replaced with a gnu++0x implementation.
<boost/detail/iomanip.hpp> is a portable implementation of <iomanip>, providing
boost::detail::setfill, boost::detail::setbase, boost::detail::setw,
boost::detail::setprecision, boost::detail::setiosflags and
boost::detail::resetiosflags. 



[SVN r68140]
2011-01-14 02:35:58 +00:00
Pavol Droba
9d25072f2f dissect formatter and tests added
[SVN r68124]
2011-01-13 21:21:37 +00:00
Steven Watanabe
823b199df3 Fix typo. Fixes #4937.
[SVN r67106]
2010-12-08 17:37:52 +00:00
Daniel James
fecd440527 Fix some links I missed in string algorithms
[SVN r66278]
2010-10-30 15:53:41 +00:00
Daniel James
3325d3a3f8 Link fixes.
[SVN r66273]
2010-10-30 14:32:50 +00:00
Pavol Droba
ebf104c127 test for empty string split added
[SVN r66221]
2010-10-27 20:42:22 +00:00
Pavol Droba
3b76763807 fixed the empty string handling for the split iterator
[SVN r66220]
2010-10-27 20:40:37 +00:00
Jürgen Hunold
62df1eb048 Fix #4551,#4553,#4575 by removing unused parameter.
[SVN r65004]
2010-08-25 20:01:38 +00:00
Daniel James
f5dd47883f Update various libraries' documentation build.
Mostly to use the images and css files under doc/src instead of
doc/html, usually be deleting the settings in order to use the defaults.
Also add 'boost.root' to some builds in order to fix links which rely on
it.

[SVN r63146]
2010-06-20 18:00:48 +00:00
K. Noel Belcourt
9d68c4280c Fix license per inspection report.
[SVN r62814]
2010-06-11 19:52:26 +00:00
Steven Watanabe
1e8b3ee752 Make to_upperF and to_lowerF assignable. Fixes #3161.
[SVN r62697]
2010-06-09 23:23:56 +00:00
Steven Watanabe
42147c8385 Copy m_bEof in the split_iterator copy constructor. Fixes #4271
[SVN r62696]
2010-06-09 23:12:56 +00:00
Steven Watanabe
672775545d Avoid calling the formatter with an invalid match. Fixes #2777
[SVN r62695]
2010-06-09 23:04:24 +00:00
Steven Watanabe
46ed1bf987 Assign the iterator returned by std::copy back to Output, so that string algorithms will work with iterators other than inserters
[SVN r62694]
2010-06-09 21:12:06 +00:00
Steven Watanabe
6289ed7f98 Trim the correct string. Fixes #3860
[SVN r62692]
2010-06-09 20:42:46 +00:00
Steven Watanabe
8e97668b1f Tail not head. Fixes #3314
[SVN r62690]
2010-06-09 20:31:26 +00:00
Steven Watanabe
e7c23d2f13 Tail not head. Fixes #2124
[SVN r62689]
2010-06-09 20:26:36 +00:00
Steven Watanabe
a1e7512012 Use result_type instead of sig for predicates. Fixes #2868
[SVN r62688]
2010-06-09 20:16:21 +00:00
Daniel James
31b5842441 Typo.
[SVN r62461]
2010-06-06 07:18:24 +00:00
Steven Watanabe
4515bc182e Fix example. Fixes #4206
[SVN r61931]
2010-05-12 12:56:16 +00:00
Steven Watanabe
7e2e6856cc Remove duplicate closing angle brackets. Fixes #4198
[SVN r61856]
2010-05-08 18:27:44 +00:00
Jeremiah Willcock
235c81be61 Fixed various issues in docs (mostly duplicate bookmarks and broken links) found by inspect tool
[SVN r61437]
2010-04-20 18:49:18 +00:00
Daniel James
1eb3d83534 Fix links for string algorithm to range documentation.
[SVN r61351]
2010-04-18 12:17:36 +00:00
Troy D. Straszheim
8f2b8d4888 rm cmake from trunk. I'm not entirely sure this is necessary to satisfy the inspect script, but I'm not taking any chances, and it is easy to put back
[SVN r56942]
2009-10-17 02:07:38 +00:00
Pavol Droba
6c0f953c01 GCC compilation errors caused be the recent update fixed
[SVN r55434]
2009-08-06 19:52:08 +00:00
Pavol Droba
e439792494 Merged ADL protection patch from Neil Groves
[SVN r55424]
2009-08-05 20:01:10 +00:00
Troy D. Straszheim
236b142308 Copyrights on CMakeLists.txt to keep them from clogging up the inspect
reports.  This is essentially the same commit as r55095 on the release
branch.



[SVN r55159]
2009-07-26 00:49:56 +00:00
Steven Watanabe
9bad789175 Fix operator precedence error in documentation. Fixes #2122
[SVN r53520]
2009-06-01 00:47:03 +00:00
Jeremiah Willcock
d84f81d841 Fixed most tab and min/max issues from trunk inspection report
[SVN r53141]
2009-05-20 19:19:00 +00:00
Steven Watanabe
ce98e8b87e Qualify minmax with boost:: to avoid ambiguity with std::minmax. Fixes #3023
[SVN r53062]
2009-05-17 00:39:22 +00:00
John Maddock
e8a2596637 Add PDF generation options to fix external links to point to the web site.
Added a few more Boostbook based libs that were missed first time around.
Fixed PDF naming issues.

[SVN r51284]
2009-02-17 10:05:58 +00:00
Steven Watanabe
7b2754b937 Fix copy/paste error in minmax docs. Fixes #2500
[SVN r51045]
2009-02-06 03:45:09 +00:00
Michael A. Jackson
784402e5c0 Updating dependency information for modularized libraries.
[SVN r49628]
2008-11-07 17:05:27 +00:00
Michael A. Jackson
1188575e7b Updating CMake files to latest trunk. Added dependency information for regression tests and a few new macros for internal use.
[SVN r49627]
2008-11-07 17:02:56 +00:00
Michael A. Jackson
bff2a1e112 Continuing merge of CMake build system files into trunk with the encouragement of Doug Gregor
[SVN r49510]
2008-11-01 13:15:41 +00:00
Pavol Droba
6d5e7b5a04 self assignment problem in is_any_ofF fixed
[SVN r48281]
2008-08-21 14:46:15 +00:00
Pavol Droba
760af1798b removed static constant FIXED_STORAGE_SIZE from is_any_of to
make the code compile on borland compilers



[SVN r48218]
2008-08-19 14:32:59 +00:00
Pavol Droba
1f5542b44c predicate test improvements
[SVN r48199]
2008-08-18 18:33:40 +00:00
Pavol Droba
baf3dd99e2 fox for allocation bug in is_any_ofF
[SVN r48198]
2008-08-18 18:32:51 +00:00
Pavol Droba
7299b29bf8 fixind the problems in is_any_ofF spotted by gcc
[SVN r46498]
2008-06-18 22:07:32 +00:00
Pavol Droba
539c170b9d aditional tests added
[SVN r46497]
2008-06-18 21:55:38 +00:00
Pavol Droba
c81ee948b7 is_any_ofF performance improvements
tabs removed



[SVN r46496]
2008-06-18 21:54:06 +00:00
Pavol Droba
ba5e4c30c6 fixed the rle example crash
[SVN r46463]
2008-06-17 21:58:58 +00:00
Pavol Droba
cd26ed816c patch from ticket #1152 applied
[SVN r46461]
2008-06-17 21:21:33 +00:00
Pavol Droba
4e15767bed simple_finder example fixed
[SVN r46460]
2008-06-17 21:13:25 +00:00
Pavol Droba
9fa2f90db4 begin() and end() calls made fully qualified
[SVN r46459]
2008-06-17 21:04:00 +00:00
Pavol Droba
35f317aeac unnecessary typedefs removed
[SVN r46458]
2008-06-17 20:31:41 +00:00
Markus Schöpflin
d0a03fdb4e Added missing include. This was already fixed on the 1.34 branch but never merged to the trunk.
[SVN r45857]
2008-05-28 08:32:12 +00:00
Daniel James
346f032be2 Quote href values - our tools don't support unquoted values.
[SVN r45283]
2008-05-11 13:49:20 +00:00
Daniel James
a389d768c4 Fix broken copyright urls. Fixes #1573.
[SVN r43422]
2008-02-27 18:51:14 +00:00
Daniel James
90fca39906 Point links to the pages that used to be in 'more' to the site.
[SVN r43210]
2008-02-10 15:02:17 +00:00
Pavol Droba
5b24f31486 merging changes from 1.34
[SVN r40698]
2007-11-02 21:00:08 +00:00
Pavol Droba
b25d6511b3 merging changes from 1.34
[SVN r40697]
2007-11-02 20:55:26 +00:00
Thorsten Jørgen Ottosen
1541a554f5 changed range_result_iterator to range_iterator
[SVN r40518]
2007-10-27 22:52:29 +00:00
Markus Schöpflin
7a97b3390e Added missing include.
[SVN r39586]
2007-09-28 07:19:29 +00:00
Markus Schöpflin
6e5a7497ae Added missing include.
[SVN r39519]
2007-09-25 08:46:31 +00:00
Vladimir Prus
f0b8b60379 Update
[SVN r38522]
2007-08-08 19:24:04 +00:00
Vladimir Prus
66019abb2f Update
[SVN r38521]
2007-08-08 19:23:38 +00:00
Vladimir Prus
8758222006 Remove V1 Jamfiles
[SVN r38516]
2007-08-08 19:02:26 +00:00
Pavol Droba
4eef56761a find/split iterator tests added
[SVN r38126]
2007-07-01 22:24:29 +00:00
Pavol Droba
b94a3fbfba adapting to new range interface
[SVN r38125]
2007-07-01 22:23:55 +00:00
Pavol Droba
614cc2ebab adapting to new range interface
[SVN r38123]
2007-07-01 13:29:56 +00:00
Pavol Droba
869660ed14 adapted to the new range interface
[SVN r38122]
2007-07-01 13:12:57 +00:00
Rene Rivera
777f30780e Fix broken build of docs, it was missing a dependency to the doxygen docs.
[SVN r37466]
2007-04-17 17:19:25 +00:00
Rene Rivera
26aa37733b Fix a few more references to *.boosbook instead of *.xml generated files.
[SVN r37465]
2007-04-17 17:13:35 +00:00
Pavol Droba
f1e60579c2 documentation typo fixed
[SVN r36843]
2007-01-30 07:59:28 +00:00
Beman Dawes
389dd3c863 Add copyright, license
[SVN r35905]
2006-11-07 19:11:57 +00:00
Pavol Droba
f23f61ae9b License added to the xml doc files
[SVN r34895]
2006-08-16 07:17:49 +00:00
Gennaro Prota
608112b112 boost guidelines (mainly from inspect tool: tabs, license reference text, etc.)
[SVN r34752]
2006-07-27 10:27:37 +00:00
Pavol Droba
b21b54dc4e Applying patch from Nicola Musatti
[SVN r33709]
2006-04-16 09:46:34 +00:00
4 changed files with 7 additions and 139 deletions

View File

@@ -27,9 +27,6 @@
sequence (string). In addition, spaces in the middle of the sequence are truncated
to just one character. Space is recognized using given locales.
\c trim_fill acts as trim_all, but the spaces in the middle are replaces with
a user-define sequence of character.
Parametric (\c _if) variants use a predicate (functor) to select which characters
are to be trimmed..
Functions take a selection predicate as a parameter, which is used to determine
@@ -45,7 +42,7 @@ namespace boost {
//! Trim All - parametric
/*!
Remove all leading and trailing spaces from the input and
compress all other spaces to a single character.
compress all other spaces to a single space.
The result is a trimmed copy of the input
\param Input An input sequence
@@ -66,7 +63,7 @@ namespace boost {
//! Trim All
/*!
Remove all leading and trailing spaces from the input and
compress all other spaces to a single character.
compress all other spaces to a single space.
The input sequence is modified in-place.
\param Input An input sequence
@@ -86,7 +83,7 @@ namespace boost {
//! Trim All
/*!
Remove all leading and trailing spaces from the input and
compress all other spaces to a single character.
compress all other spaces to a single space.
The result is a trimmed copy of the input
\param Input An input sequence
@@ -103,7 +100,7 @@ namespace boost {
//! Trim All
/*!
Remove all leading and trailing spaces from the input and
compress all other spaces to a single character.
compress all other spaces to a single space.
The input sequence is modified in-place.
\param Input An input sequence
@@ -117,89 +114,6 @@ namespace boost {
}
//! Trim Fill - parametric
/*!
Remove all leading and trailing spaces from the input and
replace all every block of consecutive spaces with a fill string
defined by user.
The result is a trimmed copy of the input
\param Input An input sequence
\param Fill A string used to fill the inner spaces
\param IsSpace An unary predicate identifying spaces
\return A trimmed copy of the input
*/
template<typename SequenceT, typename RangeT, typename PredicateT>
inline SequenceT trim_fill_copy_if(const SequenceT& Input, const RangeT& Fill, PredicateT IsSpace)
{
return
::boost::find_format_all_copy(
::boost::trim_copy_if(Input, IsSpace),
::boost::token_finder(IsSpace, ::boost::token_compress_on),
::boost::const_formatter(::boost::as_literal(Fill)));
}
//! Trim Fill
/*!
Remove all leading and trailing spaces from the input and
replace all every block of consecutive spaces with a fill string
defined by user.
The input sequence is modified in-place.
\param Input An input sequence
\param Fill A string used to fill the inner spaces
\param IsSpace An unary predicate identifying spaces
*/
template<typename SequenceT, typename RangeT, typename PredicateT>
inline void trim_fill_if(SequenceT& Input, const RangeT& Fill, PredicateT IsSpace)
{
::boost::trim_if(Input, IsSpace);
::boost::find_format_all(
Input,
::boost::token_finder(IsSpace, ::boost::token_compress_on),
::boost::const_formatter(::boost::as_literal(Fill)));
}
//! Trim Fill
/*!
Remove all leading and trailing spaces from the input and
replace all every block of consecutive spaces with a fill string
defined by user.
The result is a trimmed copy of the input
\param Input An input sequence
\param Fill A string used to fill the inner spaces
\param Loc A locale used for 'space' classification
\return A trimmed copy of the input
*/
template<typename SequenceT, typename RangeT>
inline SequenceT trim_fill_copy(const SequenceT& Input, const RangeT& Fill, const std::locale& Loc =std::locale())
{
return trim_fill_copy_if(Input, Fill, ::boost::is_space(Loc));
}
//! Trim Fill
/*!
Remove all leading and trailing spaces from the input and
replace all every block of consecutive spaces with a fill string
defined by user.
The input sequence is modified in-place.
\param Input An input sequence
\param Fill A string used to fill the inner spaces
\param Loc A locale used for 'space' classification
\return A trimmed copy of the input
*/
template<typename SequenceT, typename RangeT>
inline void trim_fill(SequenceT& Input, const RangeT& Fill, const std::locale& Loc =std::locale())
{
trim_fill_if(Input, Fill, ::boost::is_space(Loc));
}
} // namespace algorithm
// pull names to the boost namespace
@@ -207,10 +121,6 @@ namespace boost {
using algorithm::trim_all_if;
using algorithm::trim_all_copy;
using algorithm::trim_all_copy_if;
using algorithm::trim_fill;
using algorithm::trim_fill_if;
using algorithm::trim_fill_copy;
using algorithm::trim_fill_copy_if;
} // namespace boost

View File

@@ -338,7 +338,7 @@ most</i> instead of <i>exactly</i> in the odd case.
<b>Rationale:</b></h3>
<a name="two_headers">
<h4><b>Why not a single header <tt>&amp;boost/algorithm/minmax.hpp></tt>?</b></h4>
<h4><b>Why not a single header <tt>&lt;boost/algorithm/minmax.hpp></tt>?</b></h4>
<p>This was the design originally proposed and approved in the formal
review. As the need for Boost.tuple became clear (due to the limitations
of <tt>std::pair</tt>), it became also annoying to require another

View File

@@ -43,6 +43,7 @@ doxygen autodoc
[ glob ../../../../boost/algorithm/string/formatter.hpp ]
[ glob ../../../../boost/algorithm/string/regex.hpp ]
[ glob ../../../../boost/algorithm/string/regex_find_format.hpp ]
[ glob ../../../../boost/algorithm/string/trim_all.hpp ]
:
<doxygen:param>HIDE_UNDOC_MEMBERS=YES
<doxygen:param>EXTRACT_PRIVATE=NO

View File

@@ -151,54 +151,11 @@ void trim_all_test()
BOOST_CHECK( trim_all_copy_if( string("<>abc<>def<>"), is_any_of( "<<>>" ) )=="abc<def" );
}
void trim_fill_test()
{
string str1(" 1x x x x1 ");
string str2("+---...2x+--x--+x-+-x2...---+");
string str3(" ");
// *** value passing tests *** //
// general string test
BOOST_CHECK( trim_fill_copy( str1, "-" )=="1x-x-x-x1" ) ;
BOOST_CHECK( trim_fill_copy_if( str2, " ", is_punct() )=="2x x x x2" ) ;
// spaces-only string test
BOOST_CHECK( trim_fill_copy( str3, " " )=="" );
// empty string check
BOOST_CHECK( trim_fill_copy( string(""), " " )=="" );
// general string test
trim_fill( str1, "-" );
BOOST_CHECK( str1=="1x-x-x-x1" ) ;
trim_fill_if( str2, "", is_punct() );
BOOST_CHECK( str2=="2xxxx2" ) ;
// spaces-only string test
str3 = " "; trim_fill( str3, "" );
BOOST_CHECK( str3=="" );
// empty string check
str3 = ""; trim_fill( str3, "" );
BOOST_CHECK( str3=="" );
BOOST_CHECK( str3=="" );
// *** non-standard predicate tests *** //
BOOST_CHECK(
trim_fill_copy_if(
string("123abc127deb456"),
"+",
is_classified(std::ctype_base::digit) )=="abc+deb" );
BOOST_CHECK( trim_fill_copy_if( string("<>abc<>def<>"), "-", is_any_of( "<<>>" ) )=="abc-def" );
}
// test main
int test_main( int, char*[] )
{
trim_test();
trim_all_test();
trim_fill_test();
return 0;
}