From 4de0842c4739f10e175e4ea642c3083be1f6d7fb Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Mon, 25 Aug 2025 17:26:05 +0200 Subject: [PATCH 1/5] Update Link to regression test matrix in README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d0d5752fa..80fb526c6 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ Distributed under the [Boost Software License, Version 1.0](http://www.boost.org Branch | Travis | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests | :-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- | -[`master`](https://github.com/boostorg/algorithm/tree/master) | [![Build Status](https://travis-ci.org/boostorg/algorithm.svg?branch=master)](https://travis-ci.org/boostorg/algorithm) | [![Build status](https://ci.appveyor.com/api/projects/status/FIXME/branch/master?svg=true)](https://ci.appveyor.com/project/USER/PROJECT/branch/master) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/99999/badge.svg)](https://scan.coverity.com/projects/boostorg-algorithm) | [![codecov](https://codecov.io/gh/boostorg/algorithm/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/algorithm/branch/master)| [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/algorithm.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](http://www.boost.org/doc/libs/master/doc/html/algorithm.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/algorithm.html) -[`develop`](https://github.com/boostorg/algorithm/tree/develop) | [![Build Status](https://travis-ci.org/boostorg/algorithm.svg?branch=develop)](https://travis-ci.org/boostorg/algorithm) | [![Build status](https://ci.appveyor.com/api/projects/status/FIXME/branch/develop?svg=true)](https://ci.appveyor.com/project/USER/PROJECT/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/99999/badge.svg)](https://scan.coverity.com/projects/boostorg-algorithm) | [![codecov](https://codecov.io/gh/boostorg/algorithm/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/algorithm/branch/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/algorithm.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](http://www.boost.org/doc/libs/develop/doc/html/algorithm.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/algorithm.html) +[`master`](https://github.com/boostorg/algorithm/tree/master) | [![Build Status](https://travis-ci.org/boostorg/algorithm.svg?branch=master)](https://travis-ci.org/boostorg/algorithm) | [![Build status](https://ci.appveyor.com/api/projects/status/FIXME/branch/master?svg=true)](https://ci.appveyor.com/project/USER/PROJECT/branch/master) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/99999/badge.svg)](https://scan.coverity.com/projects/boostorg-algorithm) | [![codecov](https://codecov.io/gh/boostorg/algorithm/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/algorithm/branch/master)| [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/algorithm.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](http://www.boost.org/doc/libs/master/doc/html/algorithm.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](https://regression.boost.io/master/developer/algorithm.html) +[`develop`](https://github.com/boostorg/algorithm/tree/develop) | [![Build Status](https://travis-ci.org/boostorg/algorithm.svg?branch=develop)](https://travis-ci.org/boostorg/algorithm) | [![Build status](https://ci.appveyor.com/api/projects/status/FIXME/branch/develop?svg=true)](https://ci.appveyor.com/project/USER/PROJECT/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/99999/badge.svg)](https://scan.coverity.com/projects/boostorg-algorithm) | [![codecov](https://codecov.io/gh/boostorg/algorithm/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/algorithm/branch/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/algorithm.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](http://www.boost.org/doc/libs/develop/doc/html/algorithm.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](https://regression.boost.io/develop/developer/algorithm.html) ### Directories From fee839977269158676c5786389090dc9b438958d Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Thu, 22 Jan 2026 20:00:01 +0300 Subject: [PATCH 2/5] Remove dependencies on Boost.StaticAssert. Boost.StaticAssert has been merged into Boost.Config, so remove the dependency. --- CMakeLists.txt | 1 - build.jam | 1 - 2 files changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 806b689ee..d51d4bef7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,6 @@ target_link_libraries(boost_algorithm Boost::mpl Boost::range Boost::regex - Boost::static_assert Boost::throw_exception Boost::tuple Boost::type_traits diff --git a/build.jam b/build.jam index 49099290d..33b732316 100644 --- a/build.jam +++ b/build.jam @@ -18,7 +18,6 @@ constant boost_dependencies : /boost/mpl//boost_mpl /boost/range//boost_range /boost/regex//boost_regex - /boost/static_assert//boost_static_assert /boost/throw_exception//boost_throw_exception /boost/tuple//boost_tuple /boost/type_traits//boost_type_traits From bdaee1f3f61eb882a321fe7dd3986ea32a272def Mon Sep 17 00:00:00 2001 From: Anton Karpov Date: Mon, 3 Aug 2026 16:52:44 +0300 Subject: [PATCH 3/5] [doc] Fix the parameter names documented for is_permutation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The three-argument overload documents `\param last2`, but its parameters are `first1`, `last1`, `first2` — `last2` is a local variable computed inside the body. The four-argument overload right above it documents `last1` correctly. Both `\fn` lines also spell the first two parameters `first` and `last` while the declarations use `first1` and `last1`. --- include/boost/algorithm/cxx11/is_permutation.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/boost/algorithm/cxx11/is_permutation.hpp b/include/boost/algorithm/cxx11/is_permutation.hpp index 693f54a49..fb4083a15 100644 --- a/include/boost/algorithm/cxx11/is_permutation.hpp +++ b/include/boost/algorithm/cxx11/is_permutation.hpp @@ -100,7 +100,7 @@ namespace detail { } /// \endcond -/// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 first2, BinaryPredicate p ) +/// \fn is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, BinaryPredicate p ) /// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 /// /// \param first1 The start of the input sequence @@ -127,11 +127,11 @@ bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, return true; } -/// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 first2 ) +/// \fn is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2 ) /// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 /// /// \param first1 The start of the input sequence -/// \param last2 One past the end of the input sequence +/// \param last1 One past the end of the input sequence /// \param first2 The start of the second sequence /// \note This function is part of the C++2011 standard library. template< class ForwardIterator1, class ForwardIterator2 > From b738d228bfdd3e704d61fc9c76db99e683d3f6a8 Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Mon, 3 Aug 2026 21:40:27 -0700 Subject: [PATCH 4/5] Remove name of unnamed parameter in doxygen comment for --- include/boost/algorithm/string/formatter.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/algorithm/string/formatter.hpp b/include/boost/algorithm/string/formatter.hpp index 0e08ae7b3..ce590c778 100644 --- a/include/boost/algorithm/string/formatter.hpp +++ b/include/boost/algorithm/string/formatter.hpp @@ -75,7 +75,7 @@ namespace boost { Constructs an \c empty_formatter. Empty formatter always returns an empty sequence. - \param Input container used to select a correct value_type for the + \param - container used to select a correct value_type for the resulting empty_container<>. \return An instance of the \c empty_formatter object. */ From db783f5815b2bf7dd7bc74c4b610eb92f7c5151c Mon Sep 17 00:00:00 2001 From: Anton Karpov Date: Wed, 5 Aug 2026 06:16:33 +0300 Subject: [PATCH 5/5] Fix \fn and \param tags in the searching algorithms The four searchers share copied comment blocks, and three of them kept names from a function they no longer describe. boyer_moore and knuth_morris_pratt document a predicate parameter Pred p that none of the operators or do_search overloads take. boyer_moore also names the block \fn operator while it sits on do_search, and so does one of the two blocks in knuth_morris_pratt, where the real third parameter is k_corpus_length rather than p. boyer_moore_horspool documents k_corpus_length on a do_search that takes two arguments. The correct form is already in the same family: boyer_moore.hpp:73 and boyer_moore_horspool.hpp:68 both name two parameters and no predicate. --- include/boost/algorithm/searching/boyer_moore.hpp | 5 ++--- .../algorithm/searching/boyer_moore_horspool.hpp | 1 - .../algorithm/searching/knuth_morris_pratt.hpp | 13 ++++++------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/include/boost/algorithm/searching/boyer_moore.hpp b/include/boost/algorithm/searching/boyer_moore.hpp index e3c00105c..87a413d52 100644 --- a/include/boost/algorithm/searching/boyer_moore.hpp +++ b/include/boost/algorithm/searching/boyer_moore.hpp @@ -108,12 +108,11 @@ mismatch on a character that _is_ in the pattern. typename traits::skip_table_t skip_; std::vector suffix_; - /// \fn operator ( corpusIter corpus_first, corpusIter corpus_last, Pred p ) + /// \fn do_search ( corpusIter corpus_first, corpusIter corpus_last ) /// \brief Searches the corpus for the pattern that was passed into the constructor - /// + /// /// \param corpus_first The start of the data to search (Random Access Iterator) /// \param corpus_last One past the end of the data to search - /// \param p A predicate used for the search comparisons. /// template std::pair diff --git a/include/boost/algorithm/searching/boyer_moore_horspool.hpp b/include/boost/algorithm/searching/boyer_moore_horspool.hpp index b8038fd7f..2c0afc320 100644 --- a/include/boost/algorithm/searching/boyer_moore_horspool.hpp +++ b/include/boost/algorithm/searching/boyer_moore_horspool.hpp @@ -107,7 +107,6 @@ namespace boost { namespace algorithm { /// /// \param corpus_first The start of the data to search (Random Access Iterator) /// \param corpus_last One past the end of the data to search - /// \param k_corpus_length The length of the corpus to search /// template std::pair diff --git a/include/boost/algorithm/searching/knuth_morris_pratt.hpp b/include/boost/algorithm/searching/knuth_morris_pratt.hpp index 4c93ffff6..f25f13a70 100644 --- a/include/boost/algorithm/searching/knuth_morris_pratt.hpp +++ b/include/boost/algorithm/searching/knuth_morris_pratt.hpp @@ -62,12 +62,11 @@ namespace boost { namespace algorithm { ~knuth_morris_pratt () {} - /// \fn operator ( corpusIter corpus_first, corpusIter corpus_last, Pred p ) + /// \fn operator ( corpusIter corpus_first, corpusIter corpus_last ) /// \brief Searches the corpus for the pattern that was passed into the constructor - /// + /// /// \param corpus_first The start of the data to search (Random Access Iterator) /// \param corpus_last One past the end of the data to search - /// \param p A predicate used for the search comparisons. /// template std::pair @@ -99,16 +98,16 @@ namespace boost { namespace algorithm { const difference_type k_pattern_length; std::vector skip_; - /// \fn operator ( corpusIter corpus_first, corpusIter corpus_last, Pred p ) + /// \fn do_search ( corpusIter corpus_first, corpusIter corpus_last, difference_type k_corpus_length ) /// \brief Searches the corpus for the pattern that was passed into the constructor - /// + /// /// \param corpus_first The start of the data to search (Random Access Iterator) /// \param corpus_last One past the end of the data to search - /// \param p A predicate used for the search comparisons. + /// \param k_corpus_length The length of the corpus to search /// template std::pair - do_search ( corpusIter corpus_first, corpusIter corpus_last, + do_search ( corpusIter corpus_first, corpusIter corpus_last, difference_type k_corpus_length ) const { difference_type match_start = 0; // position in the corpus that we're matching