tabs removed

[SVN r68162]
This commit is contained in:
Pavol Droba
2011-01-14 23:12:32 +00:00
parent a7f5bdd781
commit 276073ca64
5 changed files with 124 additions and 124 deletions

View File

@ -89,27 +89,27 @@ namespace boost {
// dissect format functor ----------------------------------------------------// // dissect format functor ----------------------------------------------------//
// dissect format functor // dissect format functor
template<typename FinderT> template<typename FinderT>
struct dissect_formatF struct dissect_formatF
{ {
public: public:
// Construction // Construction
dissect_formatF(FinderT Finder) : dissect_formatF(FinderT Finder) :
m_Finder(Finder) {} m_Finder(Finder) {}
// Operation // Operation
template<typename RangeT> template<typename RangeT>
inline iterator_range< inline iterator_range<
BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
operator()(const RangeT& Replace) const operator()(const RangeT& Replace) const
{ {
return m_Finder(::boost::begin(Replace), ::boost::end(Replace)); return m_Finder(::boost::begin(Replace), ::boost::end(Replace));
} }
private: private:
FinderT m_Finder; FinderT m_Finder;
}; };
} // namespace detail } // namespace detail

View File

@ -89,21 +89,21 @@ namespace boost {
BOOST_STRING_TYPENAME range_value<RangeT>::type>(); BOOST_STRING_TYPENAME range_value<RangeT>::type>();
} }
//! Empty formatter //! Empty formatter
/*! /*!
Constructs a \c dissect_formatter. Dissect formatter uses a specified finder Constructs a \c dissect_formatter. Dissect formatter uses a specified finder
to extract a portion of the formatted sequence. The first finder's match is returned to extract a portion of the formatted sequence. The first finder's match is returned
as a result as a result
\param Finder a finder used to select a portion of the formated sequence \param Finder a finder used to select a portion of the formated sequence
\return An instance of the \c dissect_formatter object. \return An instance of the \c dissect_formatter object.
*/ */
template<typename FinderT> template<typename FinderT>
inline detail::dissect_formatF< FinderT > inline detail::dissect_formatF< FinderT >
dissect_formatter(const FinderT& Finder) dissect_formatter(const FinderT& Finder)
{ {
return detail::dissect_formatF<FinderT>(Finder); return detail::dissect_formatF<FinderT>(Finder);
} }
} // namespace algorithm } // namespace algorithm
@ -112,7 +112,7 @@ namespace boost {
using algorithm::const_formatter; using algorithm::const_formatter;
using algorithm::identity_formatter; using algorithm::identity_formatter;
using algorithm::empty_formatter; using algorithm::empty_formatter;
using algorithm::dissect_formatter; using algorithm::dissect_formatter;
} // namespace boost } // namespace boost

View File

@ -23,9 +23,9 @@
/*! \file /*! \file
Defines trim_all algorithms. Defines trim_all algorithms.
Just like \c trim, \c trim_all removes all trailing and leading spaces from a Just like \c trim, \c trim_all removes all trailing and leading spaces from a
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.
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..
@ -37,90 +37,90 @@
namespace boost { namespace boost {
namespace algorithm { namespace algorithm {
// multi line trim ----------------------------------------------- // // multi line trim ----------------------------------------------- //
//! 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 space.
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
\param IsSpace An unary predicate identifying spaces \param IsSpace An unary predicate identifying spaces
\return A trimmed copy of the input \return A trimmed copy of the input
*/ */
template<typename SequenceT, typename PredicateT> template<typename SequenceT, typename PredicateT>
inline SequenceT trim_all_copy_if(const SequenceT& Input, PredicateT IsSpace) inline SequenceT trim_all_copy_if(const SequenceT& Input, PredicateT IsSpace)
{ {
return return
::boost::find_format_all_copy( ::boost::find_format_all_copy(
::boost::trim_copy_if(Input, IsSpace), ::boost::trim_copy_if(Input, IsSpace),
::boost::token_finder(IsSpace, ::boost::token_compress_on), ::boost::token_finder(IsSpace, ::boost::token_compress_on),
::boost::dissect_formatter(::boost::head_finder(1))); ::boost::dissect_formatter(::boost::head_finder(1)));
} }
//! 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 space.
The input sequence is modified in-place. The input sequence is modified in-place.
\param Input An input sequence \param Input An input sequence
\param IsSpace An unary predicate identifying spaces \param IsSpace An unary predicate identifying spaces
*/ */
template<typename SequenceT, typename PredicateT> template<typename SequenceT, typename PredicateT>
inline void trim_all_if(SequenceT& Input, PredicateT IsSpace) inline void trim_all_if(SequenceT& Input, PredicateT IsSpace)
{ {
::boost::trim_if(Input, IsSpace); ::boost::trim_if(Input, IsSpace);
::boost::find_format_all( ::boost::find_format_all(
Input, Input,
::boost::token_finder(IsSpace, ::boost::token_compress_on), ::boost::token_finder(IsSpace, ::boost::token_compress_on),
::boost::dissect_formatter(::boost::head_finder(1))); ::boost::dissect_formatter(::boost::head_finder(1)));
} }
//! 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 space.
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
\param Loc A locale used for 'space' classification \param Loc A locale used for 'space' classification
\return A trimmed copy of the input \return A trimmed copy of the input
*/ */
template<typename SequenceT> template<typename SequenceT>
inline SequenceT trim_all_copy(const SequenceT& Input, const std::locale& Loc =std::locale()) inline SequenceT trim_all_copy(const SequenceT& Input, const std::locale& Loc =std::locale())
{ {
return trim_all_copy_if(Input, ::boost::is_space(Loc)); return trim_all_copy_if(Input, ::boost::is_space(Loc));
} }
//! 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 space.
The input sequence is modified in-place. The input sequence is modified in-place.
\param Input An input sequence \param Input An input sequence
\param Loc A locale used for 'space' classification \param Loc A locale used for 'space' classification
\return A trimmed copy of the input \return A trimmed copy of the input
*/ */
template<typename SequenceT> template<typename SequenceT>
inline void trim_all(SequenceT& Input, const std::locale& Loc =std::locale()) inline void trim_all(SequenceT& Input, const std::locale& Loc =std::locale())
{ {
trim_all_if(Input, ::boost::is_space(Loc)); trim_all_if(Input, ::boost::is_space(Loc));
} }
} // namespace algorithm } // namespace algorithm
// pull names to the boost namespace // pull names to the boost namespace
using algorithm::trim_all; using algorithm::trim_all;
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;
} // namespace boost } // namespace boost

View File

@ -290,18 +290,18 @@ void collection_comp_test()
void dissect_format_test() void dissect_format_test()
{ {
BOOST_CHECK( BOOST_CHECK(
find_format_all_copy( find_format_all_copy(
string("aBc123Abc"), string("aBc123Abc"),
first_finder("abc", is_iequal()), first_finder("abc", is_iequal()),
dissect_formatter(token_finder(is_upper())))=="B123A"); dissect_formatter(token_finder(is_upper())))=="B123A");
BOOST_CHECK( BOOST_CHECK(
find_format_all_copy( find_format_all_copy(
string("abc 123 abc"), string("abc 123 abc"),
token_finder(is_space(), token_compress_on), token_finder(is_space(), token_compress_on),
dissect_formatter(head_finder(1)))=="abc 123 abc"); dissect_formatter(head_finder(1)))=="abc 123 abc");
} }
@ -317,7 +317,7 @@ int test_main( int, char*[] )
replace_tail_test(); replace_tail_test();
replace_range_test(); replace_range_test();
collection_comp_test(); collection_comp_test();
dissect_format_test(); dissect_format_test();
return 0; return 0;
} }

View File

@ -112,15 +112,15 @@ void trim_test()
void trim_all_test() void trim_all_test()
{ {
string str1(" 1x x x x1 "); string str1(" 1x x x x1 ");
string str2(" 2x x x x2 "); string str2(" 2x x x x2 ");
string str3(" "); string str3(" ");
// *** value passing tests *** // // *** value passing tests *** //
// general string test // general string test
BOOST_CHECK( trim_all_copy( str1 )=="1x x x x1" ) ; BOOST_CHECK( trim_all_copy( str1 )=="1x x x x1" ) ;
BOOST_CHECK( trim_all_copy( str2 )=="2x x x x2" ) ; BOOST_CHECK( trim_all_copy( str2 )=="2x x x x2" ) ;
// spaces-only string test // spaces-only string test
BOOST_CHECK( trim_all_copy( str3 )=="" ); BOOST_CHECK( trim_all_copy( str3 )=="" );
@ -129,10 +129,10 @@ void trim_all_test()
BOOST_CHECK( trim_all_copy( string("") )=="" ); BOOST_CHECK( trim_all_copy( string("") )=="" );
// general string test // general string test
trim_all( str1 ); trim_all( str1 );
BOOST_CHECK( str1=="1x x x x1" ) ; BOOST_CHECK( str1=="1x x x x1" ) ;
trim_all( str2 ); trim_all( str2 );
BOOST_CHECK( str2=="2x x x x2" ) ; BOOST_CHECK( str2=="2x x x x2" ) ;
// spaces-only string test // spaces-only string test
str3 = " "; trim_all( str3 ); str3 = " "; trim_all( str3 );
@ -155,7 +155,7 @@ void trim_all_test()
int test_main( int, char*[] ) int test_main( int, char*[] )
{ {
trim_test(); trim_test();
trim_all_test(); trim_all_test();
return 0; return 0;
} }