Quickbook: Copy trunk headers into quickbook-dev.

[SVN r75212]
This commit is contained in:
Daniel James
2011-11-01 13:03:44 +00:00

View File

@@ -27,6 +27,9 @@
sequence (string). In addition, spaces in the middle of the sequence are truncated sequence (string). In addition, spaces in the middle of the sequence are truncated
to just one character. Space is recognized using given locales. 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 Parametric (\c _if) variants use a predicate (functor) to select which characters
are to be trimmed.. are to be trimmed..
Functions take a selection predicate as a parameter, which is used to determine Functions take a selection predicate as a parameter, which is used to determine
@@ -42,7 +45,7 @@ namespace boost {
//! Trim All - parametric //! Trim All - parametric
/*! /*!
Remove all leading and trailing spaces from the input and Remove all leading and trailing spaces from the input and
compress all other spaces to a single space. compress all other spaces to a single character.
The result is a trimmed copy of the input The result is a trimmed copy of the input
\param Input An input sequence \param Input An input sequence
@@ -63,7 +66,7 @@ namespace boost {
//! Trim All //! Trim All
/*! /*!
Remove all leading and trailing spaces from the input and Remove all leading and trailing spaces from the input and
compress all other spaces to a single space. compress all other spaces to a single character.
The input sequence is modified in-place. The input sequence is modified in-place.
\param Input An input sequence \param Input An input sequence
@@ -83,7 +86,7 @@ namespace boost {
//! Trim All //! Trim All
/*! /*!
Remove all leading and trailing spaces from the input and Remove all leading and trailing spaces from the input and
compress all other spaces to a single space. compress all other spaces to a single character.
The result is a trimmed copy of the input The result is a trimmed copy of the input
\param Input An input sequence \param Input An input sequence
@@ -100,7 +103,7 @@ namespace boost {
//! Trim All //! Trim All
/*! /*!
Remove all leading and trailing spaces from the input and Remove all leading and trailing spaces from the input and
compress all other spaces to a single space. compress all other spaces to a single character.
The input sequence is modified in-place. The input sequence is modified in-place.
\param Input An input sequence \param Input An input sequence
@@ -114,6 +117,89 @@ 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 } // namespace algorithm
// pull names to the boost namespace // pull names to the boost namespace
@@ -121,6 +207,10 @@ namespace boost {
using algorithm::trim_all_if; using algorithm::trim_all_if;
using algorithm::trim_all_copy; using algorithm::trim_all_copy;
using algorithm::trim_all_copy_if; 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 } // namespace boost