Merge #13656: Remove the boost/algorithm/string/predicate.hpp dependency
e3245f2e7b Removes Boost predicate.hpp dependency (251)
Pull request description:
This pull request removes the `boost/algorithm/string/predicate.hpp` dependency from the project. To replace the the `predicate.hpp` dependency from the project the function calls to `boost::algorithm::starts_with` and `boost::algorithm::ends_with` have been replaced with respectively C++11's `std::basic_string::front` and `std::basic_string::back` function calls. Refactors that were not required, but have been done anyways: - The Boost function `all` was implicitly made available via the `predicate.hpp` header. Instead of including the appropriate header, function calls to `all` have been replaced with function calls to `std::all_of`. - The `boost::algorithm::is_digit` predicate has been replaced with a custom `IsDigit` function that is locale independent and ASCII deterministic.
Backport of Core PR13656
Undo the change to the linter script
arc lint --everything
Advice (BOOST_DEPENDENCY) Good job! A boost dependency has been removed. Good job! The Boost dependency "boost/algorithm/string/predicate.hpp" is no longer used. Please remove it from EXPECTED_BOOST_INCLUDES in <path>/bitcoin-abc/test/lint/lint-boost-dependencies.sh to make sure this dependency is not accidentally reintroduced.
Reviewers: deadalnix, Fabien, jasonbcox, O1 Bitcoin ABC, #bitcoin_abc, markblundeberg
Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, markblundeberg
Differential Revision: https://reviews.bitcoinabc.org/D4727