forked from boostorg/algorithm
Compare commits
140 Commits
develop
...
boost-1.91.0
| Author | SHA1 | Date | |
|---|---|---|---|
| af3258157d | |||
| 175f443ee8 | |||
| fee8399772 | |||
| 0edbfe8736 | |||
| 4de0842c47 | |||
| e8504e45a4 | |||
| dbd2ea4617 | |||
| c9e890bb85 | |||
| 7012619c80 | |||
| 6eb48dd863 | |||
| 1395fe720c | |||
| 35a55238a7 | |||
| 7f07838f8b | |||
| bbfcdf1322 | |||
| 5c8e6ce9ba | |||
| 0c0e84b112 | |||
| 81e46297b5 | |||
| 8189606c93 | |||
| c63c45a932 | |||
| 1213b9fd1f | |||
| b3b2ff4d0c | |||
| 14922e71c0 | |||
| fcf95e504b | |||
| 6b1d2fc5ad | |||
| 32c5a6327c | |||
| dc14b69189 | |||
| 61fa3e461f | |||
| 3401f0398f | |||
| 1d9706feb7 | |||
| 28dd87b90e | |||
| 1c5f74ae25 | |||
| 1cfd9592f7 | |||
| 559835eaa5 | |||
| 3b3bd8d3db | |||
| ca77e55428 | |||
| 7f527f3c4d | |||
| e59958cc4d | |||
| 44527f4c81 | |||
| 1b65b8de02 | |||
| 5af3e3b174 | |||
| badf1b3f0c | |||
| 4f9afb0682 | |||
| 6d0126df8a | |||
| daef6d41c5 | |||
| 055075aa61 | |||
| d029402f05 | |||
| 24d2cceb27 | |||
| c5b41eba46 | |||
| e5ea93bab1 | |||
| 5412438df5 | |||
| baa6eca18c | |||
| 073eb62f64 | |||
| cc1392cae6 | |||
| a09963bf93 | |||
| cf249c090c | |||
| 645be22fa7 | |||
| 28b12d7264 | |||
| 4d28d579e3 | |||
| 5adab54486 | |||
| 685a76f094 | |||
| 5988a55b96 | |||
| 850fc02667 | |||
| 5279c8f061 | |||
| 8b89b5ba27 | |||
| ca23b6f4f8 | |||
| 55cb3afefa | |||
| beeedadba9 | |||
| 1a70166889 | |||
| 63da6f5713 | |||
| 2381d0bdac | |||
| 40b5941652 | |||
| 00dfda98b2 | |||
| 52eef989da | |||
| 8132864884 | |||
| 6e098b27aa | |||
| 60010b4165 | |||
| 1660dc9d48 | |||
| 5ae4f848b3 | |||
| fe3e0bb9c4 | |||
| 311e169376 | |||
| 3dddfa1930 | |||
| be6d8f9665 | |||
| bced4ed8dd | |||
| 1b57e905ab | |||
| 29bd9f53d9 | |||
| 6341cfb1a6 | |||
| 7f4acd6170 | |||
| 314f6dcfe0 | |||
| 167aa6e31c | |||
| d228e91494 | |||
| 9cc573fbd0 | |||
| 28a7d3eb4b | |||
| 883cce61a8 | |||
| 96d4708367 | |||
| 563fe27a59 | |||
| 76cd99ed53 | |||
| 0f2399fef0 | |||
| 044d667e79 | |||
| be9da63894 | |||
| 787c94bc53 | |||
| e87ce37b34 | |||
| 199a89a1e9 | |||
| 01492a93c6 | |||
| 50703b8c97 | |||
| 0f8d556130 | |||
| bbd3220a1e | |||
| 9068069106 | |||
| a37af3c81e | |||
| f5885c6fb0 | |||
| d45bb3545e | |||
| d735b9fa1e | |||
| 62ec675581 | |||
| e7cd4da67b | |||
| 6076f5a18e | |||
| 60cd5a0500 | |||
| c33dad924d | |||
| 2f2935f07e | |||
| 3cbaafc27f | |||
| c067b348bf | |||
| c33935fa1f | |||
| 98a8b08afb | |||
| fc0f3dcffc | |||
| 822636418b | |||
| 352e16aade | |||
| 89c76ea1bb | |||
| 50b5726a6f | |||
| d4b95734dd | |||
| 05af96f84c | |||
| 5bdbb2b308 | |||
| 1a02969303 | |||
| 6309379618 | |||
| 37581bac55 | |||
| a71a4ed5b1 | |||
| c509c3fbad | |||
| d8683f2498 | |||
| 7c0101aa51 | |||
| 6f3e85528f | |||
| 8af639b7cf | |||
| d9bc7e800b | |||
| b4ed9beb90 |
@@ -26,7 +26,6 @@ target_link_libraries(boost_algorithm
|
|||||||
Boost::mpl
|
Boost::mpl
|
||||||
Boost::range
|
Boost::range
|
||||||
Boost::regex
|
Boost::regex
|
||||||
Boost::static_assert
|
|
||||||
Boost::throw_exception
|
Boost::throw_exception
|
||||||
Boost::tuple
|
Boost::tuple
|
||||||
Boost::type_traits
|
Boost::type_traits
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
# Boost.Algorithm Library Jamfile
|
|
||||||
#
|
|
||||||
# Copyright (c) 2018 James E. King III
|
|
||||||
#
|
|
||||||
# Use, modification, and distribution are subject to the
|
|
||||||
# Boost Software License, Version 1.0. (See accompanying file
|
|
||||||
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
||||||
|
|
||||||
# please order by name to ease maintenance
|
|
||||||
build-project example ;
|
|
||||||
build-project test ;
|
|
||||||
@@ -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 |
|
Branch | Travis | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests |
|
||||||
:-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- |
|
:-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- |
|
||||||
[`master`](https://github.com/boostorg/algorithm/tree/master) | [](https://travis-ci.org/boostorg/algorithm) | [](https://ci.appveyor.com/project/USER/PROJECT/branch/master) | [](https://scan.coverity.com/projects/boostorg-algorithm) | [](https://codecov.io/gh/boostorg/algorithm/branch/master)| [](https://pdimov.github.io/boostdep-report/master/algorithm.html) | [](http://www.boost.org/doc/libs/master/doc/html/algorithm.html) | [](http://www.boost.org/development/tests/master/developer/algorithm.html)
|
[`master`](https://github.com/boostorg/algorithm/tree/master) | [](https://travis-ci.org/boostorg/algorithm) | [](https://ci.appveyor.com/project/USER/PROJECT/branch/master) | [](https://scan.coverity.com/projects/boostorg-algorithm) | [](https://codecov.io/gh/boostorg/algorithm/branch/master)| [](https://pdimov.github.io/boostdep-report/master/algorithm.html) | [](http://www.boost.org/doc/libs/master/doc/html/algorithm.html) | [](https://regression.boost.io/master/developer/algorithm.html)
|
||||||
[`develop`](https://github.com/boostorg/algorithm/tree/develop) | [](https://travis-ci.org/boostorg/algorithm) | [](https://ci.appveyor.com/project/USER/PROJECT/branch/develop) | [](https://scan.coverity.com/projects/boostorg-algorithm) | [](https://codecov.io/gh/boostorg/algorithm/branch/develop) | [](https://pdimov.github.io/boostdep-report/develop/algorithm.html) | [](http://www.boost.org/doc/libs/develop/doc/html/algorithm.html) | [](http://www.boost.org/development/tests/develop/developer/algorithm.html)
|
[`develop`](https://github.com/boostorg/algorithm/tree/develop) | [](https://travis-ci.org/boostorg/algorithm) | [](https://ci.appveyor.com/project/USER/PROJECT/branch/develop) | [](https://scan.coverity.com/projects/boostorg-algorithm) | [](https://codecov.io/gh/boostorg/algorithm/branch/develop) | [](https://pdimov.github.io/boostdep-report/develop/algorithm.html) | [](http://www.boost.org/doc/libs/develop/doc/html/algorithm.html) | [](https://regression.boost.io/develop/developer/algorithm.html)
|
||||||
|
|
||||||
### Directories
|
### Directories
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
# Copyright René Ferdinand Rivera Morell 2023-2024
|
||||||
|
# Distributed under the Boost Software License, Version 1.0.
|
||||||
|
# (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
require-b2 5.2 ;
|
||||||
|
|
||||||
|
constant boost_dependencies :
|
||||||
|
/boost/array//boost_array
|
||||||
|
/boost/assert//boost_assert
|
||||||
|
/boost/bind//boost_bind
|
||||||
|
/boost/concept_check//boost_concept_check
|
||||||
|
/boost/config//boost_config
|
||||||
|
/boost/core//boost_core
|
||||||
|
/boost/exception//boost_exception
|
||||||
|
/boost/function//boost_function
|
||||||
|
/boost/iterator//boost_iterator
|
||||||
|
/boost/mpl//boost_mpl
|
||||||
|
/boost/range//boost_range
|
||||||
|
/boost/regex//boost_regex
|
||||||
|
/boost/throw_exception//boost_throw_exception
|
||||||
|
/boost/tuple//boost_tuple
|
||||||
|
/boost/type_traits//boost_type_traits
|
||||||
|
/boost/unordered//boost_unordered ;
|
||||||
|
|
||||||
|
project /boost/algorithm
|
||||||
|
: common-requirements
|
||||||
|
<include>include
|
||||||
|
;
|
||||||
|
|
||||||
|
explicit
|
||||||
|
[ alias boost_algorithm : : : : <library>$(boost_dependencies) ]
|
||||||
|
[ alias all : boost_algorithm test
|
||||||
|
example
|
||||||
|
minmax/example minmax/test
|
||||||
|
string/example string/test
|
||||||
|
]
|
||||||
|
;
|
||||||
|
|
||||||
|
call-if : boost-library algorithm
|
||||||
|
;
|
||||||
+10
-10
@@ -16,18 +16,18 @@ using quickbook ;
|
|||||||
using doxygen ;
|
using doxygen ;
|
||||||
using boostbook ;
|
using boostbook ;
|
||||||
|
|
||||||
doxygen autodoc
|
doxygen autodoc
|
||||||
:
|
:
|
||||||
[ glob ../../../boost/algorithm/*.hpp
|
[ glob ../include/boost/algorithm/*.hpp
|
||||||
../../../boost/algorithm/searching/*.hpp
|
../include/boost/algorithm/searching/*.hpp
|
||||||
../../../boost/algorithm/cxx11/*.hpp
|
../include/boost/algorithm/cxx11/*.hpp
|
||||||
../../../boost/algorithm/cxx14/*.hpp
|
../include/boost/algorithm/cxx14/*.hpp
|
||||||
../../../boost/algorithm/cxx17/*.hpp
|
../include/boost/algorithm/cxx17/*.hpp
|
||||||
]
|
]
|
||||||
:
|
:
|
||||||
<doxygen:param>"PREDEFINED=\"BOOST_ALGORITHM_DOXYGEN=1\""
|
<doxygen:param>"PREDEFINED=\"BOOST_ALGORITHM_DOXYGEN=1\""
|
||||||
<doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile.
|
<doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile.
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
xml algorithm : algorithm.qbk ;
|
xml algorithm : algorithm.qbk ;
|
||||||
@@ -36,7 +36,7 @@ boostbook standalone
|
|||||||
:
|
:
|
||||||
algorithm
|
algorithm
|
||||||
:
|
:
|
||||||
<dependency>autodoc
|
<dependency>autodoc
|
||||||
<xsl:param>boost.root=../../../..
|
<xsl:param>boost.root=../../../..
|
||||||
<xsl:param>"boost.doxygen.reftitle=Boost.Algorithms C++ Reference"
|
<xsl:param>"boost.doxygen.reftitle=Boost.Algorithms C++ Reference"
|
||||||
<xsl:param>chapter.autolabel=0
|
<xsl:param>chapter.autolabel=0
|
||||||
|
|||||||
+2
-2
@@ -8,9 +8,9 @@
|
|||||||
# See http://www.boost.org for updates, documentation, and revision history.
|
# See http://www.boost.org for updates, documentation, and revision history.
|
||||||
|
|
||||||
|
|
||||||
project /boost/algorithm/example
|
project
|
||||||
: requirements
|
: requirements
|
||||||
<include>../../../
|
<library>/boost/algorithm//boost_algorithm
|
||||||
<optimization>speed
|
<optimization>speed
|
||||||
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
|
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
|
||||||
<toolset>msvc:<define>NOMINMAX
|
<toolset>msvc:<define>NOMINMAX
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#ifndef BOOST_ALGORITHM_BOYER_MOORE_SEARCH_HPP
|
#ifndef BOOST_ALGORITHM_BOYER_MOORE_SEARCH_HPP
|
||||||
#define BOOST_ALGORITHM_BOYER_MOORE_SEARCH_HPP
|
#define BOOST_ALGORITHM_BOYER_MOORE_SEARCH_HPP
|
||||||
|
|
||||||
|
#include <algorithm> // for std::reverse_copy
|
||||||
#include <iterator> // for std::iterator_traits
|
#include <iterator> // for std::iterator_traits
|
||||||
|
|
||||||
#include <boost/config.hpp>
|
#include <boost/config.hpp>
|
||||||
|
|||||||
@@ -85,6 +85,22 @@ namespace boost {
|
|||||||
return detail::is_classifiedF(std::ctype_base::alpha, Loc);
|
return detail::is_classifiedF(std::ctype_base::alpha, Loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_CXX11
|
||||||
|
//! is_blank predicate
|
||||||
|
/*!
|
||||||
|
Construct the \c is_classified predicate for the \c ctype_base::blank category.
|
||||||
|
|
||||||
|
\param Loc A locale used for classification
|
||||||
|
\return An instance of the \c is_classified predicate
|
||||||
|
\since c++11
|
||||||
|
*/
|
||||||
|
inline detail::is_classifiedF
|
||||||
|
is_blank(const std::locale& Loc=std::locale())
|
||||||
|
{
|
||||||
|
return detail::is_classifiedF(std::ctype_base::blank, Loc);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
//! is_cntrl predicate
|
//! is_cntrl predicate
|
||||||
/*!
|
/*!
|
||||||
Construct the \c is_classified predicate for the \c ctype_base::cntrl category.
|
Construct the \c is_classified predicate for the \c ctype_base::cntrl category.
|
||||||
@@ -294,6 +310,9 @@ namespace boost {
|
|||||||
// pull names to the boost namespace
|
// pull names to the boost namespace
|
||||||
using algorithm::is_classified;
|
using algorithm::is_classified;
|
||||||
using algorithm::is_space;
|
using algorithm::is_space;
|
||||||
|
#ifndef BOOST_NO_CXX11
|
||||||
|
using algorithm::is_blank;
|
||||||
|
#endif
|
||||||
using algorithm::is_alnum;
|
using algorithm::is_alnum;
|
||||||
using algorithm::is_alpha;
|
using algorithm::is_alpha;
|
||||||
using algorithm::is_cntrl;
|
using algorithm::is_cntrl;
|
||||||
|
|||||||
@@ -108,7 +108,6 @@ namespace boost {
|
|||||||
|
|
||||||
\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
|
|
||||||
*/
|
*/
|
||||||
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())
|
||||||
@@ -191,7 +190,6 @@ namespace boost {
|
|||||||
\param Input An input sequence
|
\param Input An input sequence
|
||||||
\param Fill A string used to fill the inner spaces
|
\param Fill A string used to fill the inner spaces
|
||||||
\param Loc A locale used for 'space' classification
|
\param Loc A locale used for 'space' classification
|
||||||
\return A trimmed copy of the input
|
|
||||||
*/
|
*/
|
||||||
template<typename SequenceT, typename RangeT>
|
template<typename SequenceT, typename RangeT>
|
||||||
inline void trim_fill(SequenceT& Input, const RangeT& Fill, const std::locale& Loc =std::locale())
|
inline void trim_fill(SequenceT& Input, const RangeT& Fill, const std::locale& Loc =std::locale())
|
||||||
|
|||||||
@@ -7,6 +7,11 @@
|
|||||||
# http://www.boost.org/LICENSE_1_0.txt)
|
# http://www.boost.org/LICENSE_1_0.txt)
|
||||||
#
|
#
|
||||||
|
|
||||||
|
project
|
||||||
|
: requirements
|
||||||
|
<library>/boost/algorithm//boost_algorithm
|
||||||
|
<library>/boost/timer//boost_timer ;
|
||||||
|
|
||||||
exe minmax_ex : minmax_ex.cpp ;
|
exe minmax_ex : minmax_ex.cpp ;
|
||||||
exe minmax_timer : minmax_timer.cpp ;
|
exe minmax_timer : minmax_timer.cpp ;
|
||||||
|
|
||||||
|
|||||||
@@ -15,8 +15,10 @@
|
|||||||
// What's the proper BOOST_ flag for <iomanip.h> vs <ios>
|
// What's the proper BOOST_ flag for <iomanip.h> vs <ios>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
|
||||||
#include <boost/timer.hpp>
|
|
||||||
#include <boost/algorithm/minmax.hpp>
|
#include <boost/algorithm/minmax.hpp>
|
||||||
|
#include <boost/algorithm/minmax_element.hpp>
|
||||||
|
#include <boost/iterator/filter_iterator.hpp>
|
||||||
|
#include <boost/timer/timer.hpp>
|
||||||
|
|
||||||
template <class T1, class T2>
|
template <class T1, class T2>
|
||||||
void tie(std::pair<T1, T2> p, T1& min, T2& max)
|
void tie(std::pair<T1, T2> p, T1& min, T2& max)
|
||||||
@@ -56,17 +58,19 @@ inline int opt_boost_minmax_count(int n) {
|
|||||||
int repeats = 10;
|
int repeats = 10;
|
||||||
|
|
||||||
#define TIMER( n, cmd , cmdname ) \
|
#define TIMER( n, cmd , cmdname ) \
|
||||||
t.restart(); \
|
t.start(); \
|
||||||
for (int i=0; i<repeats; ++i) { cmd ; } \
|
for (int i=0; i<n*repeats; ++i) { cmd ; } \
|
||||||
|
t.stop(); \
|
||||||
std::cout << " " << std::setprecision(4) \
|
std::cout << " " << std::setprecision(4) \
|
||||||
<< (double)n*repeats/t.elapsed()/1.0E6 \
|
<< 1e3 * (double)(n*repeats) / (double)t.elapsed().wall \
|
||||||
<< "M items/sec " << cmdname << "\n"
|
<< "M items/sec " << cmdname << "\n"
|
||||||
|
|
||||||
#define CTIMER( n, cmd , cmdname, count, opt ) \
|
#define CTIMER( n, cmd , cmdname, count, opt ) \
|
||||||
t.restart(); lc.reset(); \
|
t.start(); lc.reset(); \
|
||||||
for (int i=0; i<repeats; ++i) { cmd ; } \
|
for (int i=0; i<n*repeats; ++i) { cmd ; } \
|
||||||
|
t.stop(); \
|
||||||
std::cout << " " << std::setprecision(4) \
|
std::cout << " " << std::setprecision(4) \
|
||||||
<< (double)n*repeats/t.elapsed()/1.0E6 \
|
<< 1e3 * (double)(n*repeats) / (double)t.elapsed().wall \
|
||||||
<< "M items/sec " << cmdname \
|
<< "M items/sec " << cmdname \
|
||||||
<< " ("<< (count)/repeats << " vs " << opt << ")\n"
|
<< " ("<< (count)/repeats << " vs " << opt << ")\n"
|
||||||
|
|
||||||
@@ -74,7 +78,7 @@ template <class CIterator>
|
|||||||
void test_minmax_element(CIterator first, CIterator last, int n, char* name)
|
void test_minmax_element(CIterator first, CIterator last, int n, char* name)
|
||||||
{
|
{
|
||||||
typedef typename std::iterator_traits<CIterator>::value_type vtype;
|
typedef typename std::iterator_traits<CIterator>::value_type vtype;
|
||||||
boost::timer t;
|
boost::timer::cpu_timer t;
|
||||||
|
|
||||||
std::cout << " ON " << name << " WITH OPERATOR<()\n";
|
std::cout << " ON " << name << " WITH OPERATOR<()\n";
|
||||||
TIMER( n, std::min_element(first, last),
|
TIMER( n, std::min_element(first, last),
|
||||||
@@ -99,15 +103,11 @@ void test_minmax_element(CIterator first, CIterator last, int n, char* name)
|
|||||||
"boost::last_min_last_max_element" << name << " ");
|
"boost::last_min_last_max_element" << name << " ");
|
||||||
|
|
||||||
#define pred std::bind2nd( std::greater<vtype>(), vtype(10) )
|
#define pred std::bind2nd( std::greater<vtype>(), vtype(10) )
|
||||||
TIMER( n, boost::min_element_if(first, last, pred),
|
TIMER( n, std::min_element(boost::make_filter_iterator(pred, first, last),
|
||||||
"boost::min_element_if" << name << "");
|
boost::make_filter_iterator(pred, last, last)),
|
||||||
TIMER( n, boost::max_element_if(first, last, pred),
|
|
||||||
"boost::max_element_if" << name << "");
|
|
||||||
TIMER( n, std::min_element(boost::make_filter_iterator(first, last, pred),
|
|
||||||
boost::make_filter_iterator(last, last, pred)),
|
|
||||||
"std::min_element_with_filter_iterator" << name << "");
|
"std::min_element_with_filter_iterator" << name << "");
|
||||||
TIMER( n, std::max_element(boost::make_filter_iterator(first, last, pred),
|
TIMER( n, std::max_element(boost::make_filter_iterator(pred, first, last),
|
||||||
boost::make_filter_iterator(last, last, pred)),
|
boost::make_filter_iterator(pred, last, last)),
|
||||||
"std::max_element_if_with_filter_iterator" << name << "");
|
"std::max_element_if_with_filter_iterator" << name << "");
|
||||||
#undef pred
|
#undef pred
|
||||||
|
|
||||||
@@ -199,10 +199,9 @@ void test(int n)
|
|||||||
test_range(first, last, n);
|
test_range(first, last, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int main(int argc, char** argv)
|
||||||
main(char argc, char** argv)
|
|
||||||
{
|
{
|
||||||
int n = 100;
|
int n = 1000;
|
||||||
if (argc > 1) n = atoi(argv[1]);
|
if (argc > 1) n = atoi(argv[1]);
|
||||||
if (argc > 2) repeats = atoi(argv[2]);
|
if (argc > 2) repeats = atoi(argv[2]);
|
||||||
|
|
||||||
|
|||||||
@@ -9,17 +9,19 @@
|
|||||||
|
|
||||||
import testing ;
|
import testing ;
|
||||||
|
|
||||||
|
project : requirements <library>/boost/algorithm//boost_algorithm ;
|
||||||
|
|
||||||
alias unit_test_framework
|
alias unit_test_framework
|
||||||
: # sources
|
: # sources
|
||||||
/boost//unit_test_framework
|
/boost/test//boost_unit_test_framework
|
||||||
;
|
;
|
||||||
|
|
||||||
{
|
{
|
||||||
test-suite algorithm/minmax
|
test-suite algorithm/minmax
|
||||||
: [ run minmax_element_test.cpp unit_test_framework
|
: [ run minmax_element_test.cpp unit_test_framework
|
||||||
: : : : minmax_element ]
|
: : : : minmax_element ]
|
||||||
[ run minmax_test.cpp unit_test_framework
|
[ run minmax_test.cpp unit_test_framework
|
||||||
: : : : minmax ]
|
: : : : minmax ]
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+28
-28
@@ -10,40 +10,40 @@
|
|||||||
import toolset ;
|
import toolset ;
|
||||||
toolset.using doxygen ;
|
toolset.using doxygen ;
|
||||||
|
|
||||||
boostbook string_algo : string_algo.xml autodoc
|
boostbook string_algo : string_algo.xml autodoc
|
||||||
:
|
:
|
||||||
<xsl:param>boost.root=../../../../..
|
<xsl:param>boost.root=../../../../..
|
||||||
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
|
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
|
||||||
;
|
;
|
||||||
|
|
||||||
doxygen autodoc
|
doxygen autodoc
|
||||||
:
|
:
|
||||||
[ glob ../../../../boost/algorithm/string.hpp ]
|
[ glob ../../include/boost/algorithm/string.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string_regex.hpp ]
|
[ glob ../../include/boost/algorithm/string_regex.hpp ]
|
||||||
|
|
||||||
[ glob ../../../../boost/algorithm/string/classification.hpp ]
|
[ glob ../../include/boost/algorithm/string/classification.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/iterator_range.hpp ]
|
[ glob ../../include/boost/algorithm/string/iterator_range.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/sequence_traits.hpp ]
|
[ glob ../../include/boost/algorithm/string/sequence_traits.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/std_containers_traits.hpp ]
|
[ glob ../../include/boost/algorithm/string/std_containers_traits.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/concept.hpp ]
|
[ glob ../../include/boost/algorithm/string/concept.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/compare.hpp ]
|
[ glob ../../include/boost/algorithm/string/compare.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/constants.hpp ]
|
[ glob ../../include/boost/algorithm/string/constants.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/case_conv.hpp ]
|
[ glob ../../include/boost/algorithm/string/case_conv.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/find.hpp ]
|
[ glob ../../include/boost/algorithm/string/find.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/finder.hpp ]
|
[ glob ../../include/boost/algorithm/string/finder.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/find_iterator.hpp ]
|
[ glob ../../include/boost/algorithm/string/find_iterator.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/trim.hpp ]
|
[ glob ../../include/boost/algorithm/string/trim.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/predicate.hpp ]
|
[ glob ../../include/boost/algorithm/string/predicate.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/split.hpp ]
|
[ glob ../../include/boost/algorithm/string/split.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/iter_find.hpp ]
|
[ glob ../../include/boost/algorithm/string/iter_find.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/erase.hpp ]
|
[ glob ../../include/boost/algorithm/string/erase.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/join.hpp ]
|
[ glob ../../include/boost/algorithm/string/join.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/replace.hpp ]
|
[ glob ../../include/boost/algorithm/string/replace.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/find_format.hpp ]
|
[ glob ../../include/boost/algorithm/string/find_format.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/formatter.hpp ]
|
[ glob ../../include/boost/algorithm/string/formatter.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/regex.hpp ]
|
[ glob ../../include/boost/algorithm/string/regex.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/regex_find_format.hpp ]
|
[ glob ../../include/boost/algorithm/string/regex_find_format.hpp ]
|
||||||
[ glob ../../../../boost/algorithm/string/trim_all.hpp ]
|
[ glob ../../include/boost/algorithm/string/trim_all.hpp ]
|
||||||
:
|
:
|
||||||
<doxygen:param>HIDE_UNDOC_MEMBERS=YES
|
<doxygen:param>HIDE_UNDOC_MEMBERS=YES
|
||||||
<doxygen:param>EXTRACT_PRIVATE=NO
|
<doxygen:param>EXTRACT_PRIVATE=NO
|
||||||
@@ -53,7 +53,7 @@ doxygen autodoc
|
|||||||
<doxygen:param>SEARCH_INCLUDES=YES
|
<doxygen:param>SEARCH_INCLUDES=YES
|
||||||
<doxygen:param>PREDEFINED="BOOST_STRING_TYPENAME=typename \"BOOST_STATIC_CONSTANT(type,var)=static const type var;\""
|
<doxygen:param>PREDEFINED="BOOST_STRING_TYPENAME=typename \"BOOST_STATIC_CONSTANT(type,var)=static const type var;\""
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -667,6 +667,13 @@
|
|||||||
<functionname>is_space()</functionname>
|
<functionname>is_space()</functionname>
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>is_blank</entry>
|
||||||
|
<entry>Recognize blanks</entry>
|
||||||
|
<entry>
|
||||||
|
<functionname>is_blank()</functionname>
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>is_alnum</entry>
|
<entry>is_alnum</entry>
|
||||||
<entry>Recognize alphanumeric characters</entry>
|
<entry>Recognize alphanumeric characters</entry>
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#
|
#
|
||||||
# See http://www.boost.org for updates, documentation, and revision history.
|
# See http://www.boost.org for updates, documentation, and revision history.
|
||||||
|
|
||||||
|
project : requirements <library>/boost/algorithm//boost_algorithm ;
|
||||||
|
|
||||||
exe conv_example : conv_example.cpp ;
|
exe conv_example : conv_example.cpp ;
|
||||||
exe predicate_example : predicate_example.cpp ;
|
exe predicate_example : predicate_example.cpp ;
|
||||||
|
|||||||
+13
-11
@@ -9,31 +9,33 @@
|
|||||||
|
|
||||||
import testing ;
|
import testing ;
|
||||||
|
|
||||||
|
project : requirements <library>/boost/algorithm//boost_algorithm ;
|
||||||
|
|
||||||
alias unit_test_framework
|
alias unit_test_framework
|
||||||
: # sources
|
: # sources
|
||||||
/boost//unit_test_framework
|
/boost/test//boost_unit_test_framework
|
||||||
;
|
;
|
||||||
|
|
||||||
test-suite algorithm/string
|
test-suite algorithm/string
|
||||||
: [ run
|
: [ run
|
||||||
trim_test.cpp unit_test_framework
|
trim_test.cpp unit_test_framework
|
||||||
: :
|
: :
|
||||||
:
|
:
|
||||||
: trim
|
: trim
|
||||||
]
|
]
|
||||||
[ run
|
[ run
|
||||||
conv_test.cpp unit_test_framework
|
conv_test.cpp unit_test_framework
|
||||||
: :
|
: :
|
||||||
:
|
:
|
||||||
: conv
|
: conv
|
||||||
]
|
]
|
||||||
[ run
|
[ run
|
||||||
predicate_test.cpp unit_test_framework
|
predicate_test.cpp unit_test_framework
|
||||||
: :
|
: :
|
||||||
:
|
:
|
||||||
: predicate
|
: predicate
|
||||||
]
|
]
|
||||||
[ run
|
[ run
|
||||||
find_test.cpp unit_test_framework
|
find_test.cpp unit_test_framework
|
||||||
: :
|
: :
|
||||||
:
|
:
|
||||||
@@ -51,23 +53,23 @@ test-suite algorithm/string
|
|||||||
:
|
:
|
||||||
: join
|
: join
|
||||||
]
|
]
|
||||||
[ run
|
[ run
|
||||||
replace_test.cpp unit_test_framework
|
replace_test.cpp unit_test_framework
|
||||||
: :
|
: :
|
||||||
:
|
:
|
||||||
: replace
|
: replace
|
||||||
]
|
]
|
||||||
[ run
|
[ run
|
||||||
regex_test.cpp unit_test_framework
|
regex_test.cpp unit_test_framework
|
||||||
../../../regex/build//boost_regex
|
../../../regex/build//boost_regex
|
||||||
: :
|
: :
|
||||||
:
|
:
|
||||||
: regex
|
: regex
|
||||||
]
|
]
|
||||||
[ run
|
[ run
|
||||||
find_format_test.cpp unit_test_framework
|
find_format_test.cpp unit_test_framework
|
||||||
: :
|
: :
|
||||||
:
|
:
|
||||||
: find_format
|
: find_format
|
||||||
]
|
]
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -138,7 +138,12 @@ void classification_test()
|
|||||||
TEST_CLASS( is_any_of( string("abc") ), "aaabbcc", "aaxb" );
|
TEST_CLASS( is_any_of( string("abc") ), "aaabbcc", "aaxb" );
|
||||||
TEST_CLASS( is_any_of( "abc" ), "aaabbcc", "aaxb" );
|
TEST_CLASS( is_any_of( "abc" ), "aaabbcc", "aaxb" );
|
||||||
TEST_CLASS( is_from_range( 'a', 'c' ), "aaabbcc", "aaxb" );
|
TEST_CLASS( is_from_range( 'a', 'c' ), "aaabbcc", "aaxb" );
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_CXX11
|
||||||
|
TEST_CLASS( is_blank(), " \t", "\t \n\r" );
|
||||||
|
TEST_CLASS( !is_blank(), "abc\n\v\f\r", "a x\t" );
|
||||||
|
#endif
|
||||||
|
|
||||||
TEST_CLASS( !is_classified(std::ctype_base::space), "...", "..\n\r\t " );
|
TEST_CLASS( !is_classified(std::ctype_base::space), "...", "..\n\r\t " );
|
||||||
TEST_CLASS( ( !is_any_of("abc") && is_from_range('a','e') ) || is_space(), "d e", "abcde" );
|
TEST_CLASS( ( !is_any_of("abc") && is_from_range('a','e') ) || is_space(), "d e", "abcde" );
|
||||||
|
|
||||||
|
|||||||
+4
-2
@@ -9,9 +9,11 @@
|
|||||||
|
|
||||||
import testing ;
|
import testing ;
|
||||||
|
|
||||||
|
project : requirements <library>/boost/algorithm//boost_algorithm ;
|
||||||
|
|
||||||
alias unit_test_framework
|
alias unit_test_framework
|
||||||
: # sources
|
: # sources
|
||||||
/boost//unit_test_framework
|
/boost/test//boost_unit_test_framework
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
@@ -85,7 +87,7 @@ alias unit_test_framework
|
|||||||
|
|
||||||
# Is_partitioned_until tests
|
# Is_partitioned_until tests
|
||||||
[ run is_partitioned_until_test.cpp unit_test_framework : : : : is_partitioned_until_test ]
|
[ run is_partitioned_until_test.cpp unit_test_framework : : : : is_partitioned_until_test ]
|
||||||
|
|
||||||
# Apply_permutation tests
|
# Apply_permutation tests
|
||||||
[ run apply_permutation_test.cpp unit_test_framework : : : : apply_permutation_test ]
|
[ run apply_permutation_test.cpp unit_test_framework : : : : apply_permutation_test ]
|
||||||
# Find tests
|
# Find tests
|
||||||
|
|||||||
Reference in New Issue
Block a user