diff --git a/include/boost/algorithm/cxx11/all_of.hpp b/include/boost/algorithm/cxx11/all_of.hpp index 4d1690f..2d05c75 100644 --- a/include/boost/algorithm/cxx11/all_of.hpp +++ b/include/boost/algorithm/cxx11/all_of.hpp @@ -12,6 +12,7 @@ #ifndef BOOST_ALGORITHM_ALL_OF_HPP #define BOOST_ALGORITHM_ALL_OF_HPP +#include // for std::all_of, if available #include #include diff --git a/include/boost/algorithm/cxx11/any_of.hpp b/include/boost/algorithm/cxx11/any_of.hpp index 4389a13..f96358e 100644 --- a/include/boost/algorithm/cxx11/any_of.hpp +++ b/include/boost/algorithm/cxx11/any_of.hpp @@ -14,6 +14,7 @@ #ifndef BOOST_ALGORITHM_ANY_OF_HPP #define BOOST_ALGORITHM_ANY_OF_HPP +#include // for std::any_of, if available #include #include diff --git a/include/boost/algorithm/cxx11/none_of.hpp b/include/boost/algorithm/cxx11/none_of.hpp index db670c6..5ca0e6d 100644 --- a/include/boost/algorithm/cxx11/none_of.hpp +++ b/include/boost/algorithm/cxx11/none_of.hpp @@ -12,6 +12,7 @@ #ifndef BOOST_ALGORITHM_NONE_OF_HPP #define BOOST_ALGORITHM_NONE_OF_HPP +#include // for std::none_of, if available #include #include diff --git a/include/boost/algorithm/cxx11/partition_copy.hpp b/include/boost/algorithm/cxx11/partition_copy.hpp index 17db978..c9a8a35 100644 --- a/include/boost/algorithm/cxx11/partition_copy.hpp +++ b/include/boost/algorithm/cxx11/partition_copy.hpp @@ -12,6 +12,7 @@ #ifndef BOOST_ALGORITHM_PARTITION_COPY_HPP #define BOOST_ALGORITHM_PARTITION_COPY_HPP +#include // for std::partition_copy, if available #include // for make_pair #include diff --git a/include/boost/algorithm/cxx11/partition_point.hpp b/include/boost/algorithm/cxx11/partition_point.hpp index f41fb30..6dc2d3d 100644 --- a/include/boost/algorithm/cxx11/partition_point.hpp +++ b/include/boost/algorithm/cxx11/partition_point.hpp @@ -20,7 +20,7 @@ namespace boost { namespace algorithm { #if __cplusplus >= 201103L -// Use the C++11 versions of iota if it is available +// Use the C++11 versions of partition_point if it is available using std::partition_point; // Section 25.3.13 #else /// \fn partition_point ( ForwardIterator first, ForwardIterator last, Predicate p ) diff --git a/include/boost/algorithm/string/find.hpp b/include/boost/algorithm/string/find.hpp index 304646d..cc99ca1 100644 --- a/include/boost/algorithm/string/find.hpp +++ b/include/boost/algorithm/string/find.hpp @@ -228,13 +228,13 @@ namespace boost { //! Find head algorithm /*! Get the head of the input. Head is a prefix of the string of the - given size. If the input is shorter then required, whole input if considered + given size. If the input is shorter then required, whole input is considered to be the head. \param Input An input string \param N Length of the head For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. + For N<0, at most size(Input)-|N| characters are extracted. \return An \c iterator_range delimiting the match. Returned iterator is either \c Range1T::iterator or @@ -258,13 +258,13 @@ namespace boost { //! Find tail algorithm /*! Get the tail of the input. Tail is a suffix of the string of the - given size. If the input is shorter then required, whole input if considered + given size. If the input is shorter then required, whole input is considered to be the tail. \param Input An input string \param N Length of the tail. For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. + For N<0, at most size(Input)-|N| characters are extracted. \return An \c iterator_range delimiting the match. Returned iterator is either \c RangeT::iterator or diff --git a/string/doc/usage.xml b/string/doc/usage.xml index a30d366..142bb2e 100644 --- a/string/doc/usage.xml +++ b/string/doc/usage.xml @@ -135,12 +135,12 @@ << endl; // prints "command.com is an executable" //.. - char text1[]="hello world!"; + char text1[]="hello"; cout << text1 - << (all( text1, is_lower() )? "is": "is not") + << (all( text1, is_lower() )? " is": " is not") << " written in the lower case" - << endl; // prints "hello world! is written in the lower case" + << endl; // prints "hello is written in the lower case" The predicates determine whether if a substring is contained in the input string @@ -149,6 +149,11 @@ simply contains the substring or if both strings are equal. See the reference for boost/algorithm/string/predicate.hpp for more details. + + Note that if we had used "hello world" as the input to the test, it would have + output "hello world is not written in the lower case" because the space in the + input string is not a lower case letter. + In addition the algorithm all() checks all elements of a container to satisfy a condition specified by a predicate. @@ -163,7 +168,7 @@ Trimming - When parsing the input from a user, strings usually have unwanted leading or trailing + When parsing the input from a user, strings often have unwanted leading or trailing characters. To get rid of them, we need trim functions: