diff --git a/include/boost/algorithm/string/find.hpp b/include/boost/algorithm/string/find.hpp index f7996f4..1f7202d 100644 --- a/include/boost/algorithm/string/find.hpp +++ b/include/boost/algorithm/string/find.hpp @@ -17,8 +17,6 @@ #include #include #include -#include -#include #include #include @@ -50,7 +48,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> find( RangeT& Input, const FinderT& Finder) @@ -78,7 +76,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> find_first( Range1T& Input, const Range2T& Search) @@ -104,7 +102,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> ifind_first( Range1T& Input, const Range2T& Search, @@ -131,7 +129,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> find_last( Range1T& Input, const Range2T& Search) @@ -157,7 +155,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> ifind_last( Range1T& Input, const Range2T& Search, @@ -185,7 +183,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> find_nth( Range1T& Input, const Range2T& Search, @@ -215,7 +213,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> ifind_nth( Range1T& Input, const Range2T& Search, @@ -247,7 +245,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> find_head( RangeT& Input, int N) @@ -278,7 +276,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> find_tail( RangeT& Input, int N) @@ -307,7 +305,7 @@ namespace boost { */ template inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> find_token( RangeT& Input, PredicateT Pred, diff --git a/include/boost/algorithm/string/find_format.hpp b/include/boost/algorithm/string/find_format.hpp index f244df3..cb3dd7c 100644 --- a/include/boost/algorithm/string/find_format.hpp +++ b/include/boost/algorithm/string/find_format.hpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/include/boost/algorithm/string/find_iterator.hpp b/include/boost/algorithm/string/find_iterator.hpp index 38a30bd..aba28d8 100644 --- a/include/boost/algorithm/string/find_iterator.hpp +++ b/include/boost/algorithm/string/find_iterator.hpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include @@ -185,12 +185,12 @@ namespace boost { */ template inline find_iterator< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> make_find_iterator( RangeT& Collection, FinderT Finder) { - return find_iterator::type>( + return find_iterator::type>( Collection, Finder); } @@ -363,12 +363,12 @@ namespace boost { */ template inline split_iterator< - BOOST_STRING_TYPENAME range_result_iterator::type> + BOOST_STRING_TYPENAME range_iterator::type> make_split_iterator( RangeT& Collection, FinderT Finder) { - return split_iterator::type>( + return split_iterator::type>( Collection, Finder); } diff --git a/include/boost/algorithm/string/iter_find.hpp b/include/boost/algorithm/string/iter_find.hpp index 41d11b7..73887a8 100644 --- a/include/boost/algorithm/string/iter_find.hpp +++ b/include/boost/algorithm/string/iter_find.hpp @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include @@ -76,12 +76,12 @@ namespace boost { { function_requires< FinderConcept::type> >(); + BOOST_STRING_TYPENAME range_iterator::type> >(); iterator_range::type> lit_input(as_literal(Input)); typedef BOOST_STRING_TYPENAME - range_result_iterator::type input_iterator_type; + range_iterator::type input_iterator_type; typedef find_iterator find_iterator_type; typedef detail::copy_iterator_rangeF< BOOST_STRING_TYPENAME @@ -145,12 +145,12 @@ namespace boost { { function_requires< FinderConcept::type> >(); + BOOST_STRING_TYPENAME range_iterator::type> >(); iterator_range::type> lit_input(as_literal(Input)); typedef BOOST_STRING_TYPENAME - range_result_iterator::type input_iterator_type; + range_iterator::type input_iterator_type; typedef split_iterator find_iterator_type; typedef detail::copy_iterator_rangeF< BOOST_STRING_TYPENAME diff --git a/include/boost/algorithm/string/join.hpp b/include/boost/algorithm/string/join.hpp index a6c26ab..d2bc382 100644 --- a/include/boost/algorithm/string/join.hpp +++ b/include/boost/algorithm/string/join.hpp @@ -14,7 +14,7 @@ #include #include #include - +#include /*! \file Defines join algorithm. diff --git a/include/boost/algorithm/string/regex.hpp b/include/boost/algorithm/string/regex.hpp index d670364..98a0dfc 100644 --- a/include/boost/algorithm/string/regex.hpp +++ b/include/boost/algorithm/string/regex.hpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include #include #include @@ -54,7 +54,7 @@ namespace boost { typename CharT, typename RegexTraitsT> inline iterator_range< - BOOST_STRING_TYPENAME range_result_iterator::type > + BOOST_STRING_TYPENAME range_iterator::type > find_regex( RangeT& Input, const basic_regex& Rx, @@ -634,6 +634,12 @@ namespace boost { using algorithm::find_all_regex; using algorithm::split_regex; +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING + using algorithm::join_if; +#else // BOOST_NO_FUNCTION_TEMPLATE_ORDERING + using algorithm::join_if_regex; +#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING + } // namespace boost diff --git a/string/doc/Jamfile.v2 b/string/doc/Jamfile.v2 index be42d64..ac3a43b 100644 --- a/string/doc/Jamfile.v2 +++ b/string/doc/Jamfile.v2 @@ -31,6 +31,7 @@ doxygen autodoc [ glob ../../../../boost/algorithm/string/trim.hpp ] [ glob ../../../../boost/algorithm/string/predicate.hpp ] [ glob ../../../../boost/algorithm/string/split.hpp ] + [ glob ../../../../boost/algorithm/string/iter_find.hpp ] [ glob ../../../../boost/algorithm/string/erase.hpp ] [ glob ../../../../boost/algorithm/string/join.hpp ] [ glob ../../../../boost/algorithm/string/replace.hpp ] diff --git a/string/doc/quickref.xml b/string/doc/quickref.xml index 0972893..3c65ae2 100644 --- a/string/doc/quickref.xml +++ b/string/doc/quickref.xml @@ -151,7 +151,7 @@ lexicographical_compare - Check if a string is lexicographicaly less then another one + Check if a string is lexicographically less then another one lexicographical_compare() @@ -434,7 +434,7 @@ find_all_regex() - + split Split input into parts @@ -442,7 +442,21 @@ split_regex() - + + + iter_find + Iteratively apply the finder to the input to find all matching substrings + + iter_find() + + + + iter_split + Use the finder to find matching substrings in the input and use them as separators to split the input into parts + + iter_split() + + diff --git a/string/doc/release_notes.xml b/string/doc/release_notes.xml index b60b74b..b40504b 100644 --- a/string/doc/release_notes.xml +++ b/string/doc/release_notes.xml @@ -8,6 +8,10 @@ -->
+ + + + Release Notes @@ -19,5 +23,23 @@ 1.33 Internal version of collection traits removed, library adapted to Boost.Range + + 1.34 + + + lexicographical_compare() + + + join() and join_if() + + + New comparison predicates is_less, is_not_greater + + + Negative indexes support (like Perl) in various algorihtms + (*_head/tail, *_nth). + + +