mirror of
https://github.com/boostorg/algorithm.git
synced 2025-10-08 05:40:55 +02:00
Compare commits
43 Commits
boost-1.37
...
svn-branch
Author | SHA1 | Date | |
---|---|---|---|
|
d019fd5e5e | ||
|
d84f81d841 | ||
|
ce98e8b87e | ||
|
e8a2596637 | ||
|
7b2754b937 | ||
|
784402e5c0 | ||
|
1188575e7b | ||
|
bff2a1e112 | ||
|
6d5e7b5a04 | ||
|
760af1798b | ||
|
1f5542b44c | ||
|
baf3dd99e2 | ||
|
7299b29bf8 | ||
|
539c170b9d | ||
|
c81ee948b7 | ||
|
ba5e4c30c6 | ||
|
cd26ed816c | ||
|
4e15767bed | ||
|
9fa2f90db4 | ||
|
35f317aeac | ||
|
d0a03fdb4e | ||
|
346f032be2 | ||
|
a389d768c4 | ||
|
90fca39906 | ||
|
5b24f31486 | ||
|
b25d6511b3 | ||
|
1541a554f5 | ||
|
7a97b3390e | ||
|
6e5a7497ae | ||
|
f0b8b60379 | ||
|
66019abb2f | ||
|
8758222006 | ||
|
4eef56761a | ||
|
b94a3fbfba | ||
|
614cc2ebab | ||
|
869660ed14 | ||
|
777f30780e | ||
|
26aa37733b | ||
|
f1e60579c2 | ||
|
389dd3c863 | ||
|
f23f61ae9b | ||
|
608112b112 | ||
|
b21b54dc4e |
20
CMakeLists.txt
Normal file
20
CMakeLists.txt
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# This file was automatically generated from the original CMakeLists.txt file
|
||||||
|
# Add a variable to hold the headers for the library
|
||||||
|
set (lib_headers
|
||||||
|
algorithm
|
||||||
|
)
|
||||||
|
|
||||||
|
# Add a library target to the build system
|
||||||
|
boost_library_project(
|
||||||
|
algorithm
|
||||||
|
# SRCDIRS
|
||||||
|
TESTDIRS minmax/test string/test
|
||||||
|
HEADERS ${lib_headers}
|
||||||
|
# DOCDIRS
|
||||||
|
DESCRIPTION "A library of various algorithms."
|
||||||
|
MODULARIZED
|
||||||
|
AUTHORS "Pavol Droba <droba -at- topmail.sk>"
|
||||||
|
"Herve Bronnimann <hbr -at- poly.edu>"
|
||||||
|
# MAINTAINERS
|
||||||
|
)
|
@@ -171,7 +171,7 @@ namespace boost {
|
|||||||
// Check what kind of storage are we using right now
|
// Check what kind of storage are we using right now
|
||||||
if(use_fixed_storage(m_Size))
|
if(use_fixed_storage(m_Size))
|
||||||
{
|
{
|
||||||
// Using fixed storage, allocate new
|
// Using fixed storage, allocate new
|
||||||
set_value_type* pTemp=new set_value_type[Other.m_Size];
|
set_value_type* pTemp=new set_value_type[Other.m_Size];
|
||||||
DestStorage=pTemp;
|
DestStorage=pTemp;
|
||||||
m_Storage.m_dynSet=pTemp;
|
m_Storage.m_dynSet=pTemp;
|
||||||
|
@@ -56,7 +56,7 @@ be enough. The present library solves both problems.</p>
|
|||||||
<tt>minmax</tt>
|
<tt>minmax</tt>
|
||||||
as straightforward extensions of the C++
|
as straightforward extensions of the C++
|
||||||
standard. As it returns a pair of <tt>const&</tt>, we must use the <a
|
standard. As it returns a pair of <tt>const&</tt>, we must use the <a
|
||||||
href=:../../../../tuple/index.html>Boost.tuple</a> library to construct such
|
href="../../tuple/index.html">Boost.tuple</a> library to construct such
|
||||||
pairs. (Please note: the intent is not to fix the known defaults of
|
pairs. (Please note: the intent is not to fix the known defaults of
|
||||||
<tt>std::min</tt>
|
<tt>std::min</tt>
|
||||||
and <tt>std::max</tt>, but to add one more algorithms that combines both; see the
|
and <tt>std::max</tt>, but to add one more algorithms that combines both; see the
|
||||||
@@ -158,9 +158,9 @@ identical to
|
|||||||
that they return the last instance of the largest element (and not the
|
that they return the last instance of the largest element (and not the
|
||||||
first, as <tt>first_min_element</tt> and <tt>last_max_element</tt> would).
|
first, as <tt>first_min_element</tt> and <tt>last_max_element</tt> would).
|
||||||
<p>The family of algorithms comprising <tt>first_min_first_max_element</tt>,
|
<p>The family of algorithms comprising <tt>first_min_first_max_element</tt>,
|
||||||
<tt>first_min_first_max_element</tt>,
|
<tt>first_min_last_max_element</tt>,
|
||||||
<tt>first_min_first_max_element</tt>,
|
<tt>last_min_first_max_element</tt>,
|
||||||
and <tt>first_min_first_max_element</tt> can be described generically as
|
and <tt>last_min_last_max_element</tt> can be described generically as
|
||||||
follows (using <i><tt>which</tt></i> and
|
follows (using <i><tt>which</tt></i> and
|
||||||
<i><tt>what</tt></i> for <tt>first</tt>
|
<i><tt>what</tt></i> for <tt>first</tt>
|
||||||
or <tt>last</tt>): <tt><i>which</i>_min_<i>what</i>_max_element</tt> finds
|
or <tt>last</tt>): <tt><i>which</i>_min_<i>what</i>_max_element</tt> finds
|
||||||
|
4
minmax/test/CMakeLists.txt
Normal file
4
minmax/test/CMakeLists.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
boost_additional_test_dependencies(algorithm BOOST_DEPENDS test)
|
||||||
|
|
||||||
|
boost_test_run(minmax_element_test)
|
||||||
|
boost_test_run(minmax_test)
|
@@ -54,23 +54,23 @@ void test(BOOST_EXPLICIT_TEMPLATE_TYPE(Value))
|
|||||||
less_count<Value> lc(counter);
|
less_count<Value> lc(counter);
|
||||||
|
|
||||||
// Test functionality
|
// Test functionality
|
||||||
tuple<Value const&, Value const&> result1 = minmax(zero, one);
|
tuple<Value const&, Value const&> result1 = boost::minmax(zero, one);
|
||||||
BOOST_CHECK_EQUAL( get<0>(result1), zero );
|
BOOST_CHECK_EQUAL( get<0>(result1), zero );
|
||||||
BOOST_CHECK_EQUAL( get<1>(result1), one );
|
BOOST_CHECK_EQUAL( get<1>(result1), one );
|
||||||
|
|
||||||
tuple<Value const&, Value const&> result2 = minmax(one, zero);
|
tuple<Value const&, Value const&> result2 = boost::minmax(one, zero);
|
||||||
BOOST_CHECK_EQUAL( get<0>(result2), zero );
|
BOOST_CHECK_EQUAL( get<0>(result2), zero );
|
||||||
BOOST_CHECK_EQUAL( get<1>(result2), one );
|
BOOST_CHECK_EQUAL( get<1>(result2), one );
|
||||||
|
|
||||||
// Test functionality and number of comparisons
|
// Test functionality and number of comparisons
|
||||||
lc.reset();
|
lc.reset();
|
||||||
tuple<Value const&, Value const&> result3 = minmax(zero, one, lc );
|
tuple<Value const&, Value const&> result3 = boost::minmax(zero, one, lc );
|
||||||
BOOST_CHECK_EQUAL( get<0>(result3), zero );
|
BOOST_CHECK_EQUAL( get<0>(result3), zero );
|
||||||
BOOST_CHECK_EQUAL( get<1>(result3), one );
|
BOOST_CHECK_EQUAL( get<1>(result3), one );
|
||||||
BOOST_CHECK_EQUAL( counter, 1 );
|
BOOST_CHECK_EQUAL( counter, 1 );
|
||||||
|
|
||||||
lc.reset();
|
lc.reset();
|
||||||
tuple<Value const&, Value const&> result4 = minmax(one, zero, lc );
|
tuple<Value const&, Value const&> result4 = boost::minmax(one, zero, lc );
|
||||||
BOOST_CHECK_EQUAL( get<0>(result4), zero );
|
BOOST_CHECK_EQUAL( get<0>(result4), zero );
|
||||||
BOOST_CHECK_EQUAL( get<1>(result4), one );
|
BOOST_CHECK_EQUAL( get<1>(result4), one );
|
||||||
BOOST_CHECK_EQUAL( counter, 1);
|
BOOST_CHECK_EQUAL( counter, 1);
|
||||||
|
4
module.cmake
Normal file
4
module.cmake
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
boost_module(algorithm DEPENDS regex concept_check range)
|
||||||
|
|
||||||
|
|
||||||
|
|
@@ -10,7 +10,10 @@
|
|||||||
import toolset ;
|
import toolset ;
|
||||||
toolset.using doxygen ;
|
toolset.using doxygen ;
|
||||||
|
|
||||||
boostbook string_algo : string_algo.xml autodoc ;
|
boostbook string_algo : string_algo.xml autodoc
|
||||||
|
:
|
||||||
|
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
|
||||||
|
;
|
||||||
|
|
||||||
doxygen autodoc
|
doxygen autodoc
|
||||||
:
|
:
|
||||||
|
12
string/test/CMakeLists.txt
Normal file
12
string/test/CMakeLists.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
boost_additional_test_dependencies(algorithm BOOST_DEPENDS test)
|
||||||
|
|
||||||
|
|
||||||
|
boost_test_run(trim_test)
|
||||||
|
boost_test_run(conv_test)
|
||||||
|
boost_test_run(predicate_test)
|
||||||
|
boost_test_run(find_test)
|
||||||
|
boost_test_run(split_test)
|
||||||
|
boost_test_run(join_test)
|
||||||
|
boost_test_run(replace_test)
|
||||||
|
boost_test_run(regex_test DEPENDS boost_regex SHARED)
|
||||||
|
|
Reference in New Issue
Block a user