diff --git a/doc/html/index.html b/doc/html/index.html index 0bcae2c..b37d1e2 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -147,7 +147,7 @@

- +

Last revised: January 03, 2013 at 01:05:23 GMT

Last revised: January 03, 2013 at 23:22:09 GMT


diff --git a/doc/html/range/reference/adaptors/reference/filtered.html b/doc/html/range/reference/adaptors/reference/filtered.html index 5d45709..1930ef4 100644 --- a/doc/html/range/reference/adaptors/reference/filtered.html +++ b/doc/html/range/reference/adaptors/reference/filtered.html @@ -132,6 +132,8 @@ boost::copy( input | filtered(is_even()), std::ostream_iterator<int>(std::cout, ",")); + + return 0; }

diff --git a/doc/html/range/reference/adaptors/reference/indexed.html b/doc/html/range/reference/adaptors/reference/indexed.html index a232c05..1dd722a 100644 --- a/doc/html/range/reference/adaptors/reference/indexed.html +++ b/doc/html/range/reference/adaptors/reference/indexed.html @@ -124,27 +124,6 @@ display_element_and_index(boost::begin(rng), boost::end(rng)); } -template<class Iterator1, class Iterator2> -void check_element_and_index( - Iterator1 test_first, - Iterator1 test_last, - Iterator2 reference_first, - Iterator2 reference_last) -{ - BOOST_CHECK_EQUAL( std::distance(test_first, test_last), - std::distance(reference_first, reference_last) ); - - int reference_index = 0; - - Iterator1 test_it = test_first; - Iterator2 reference_it = reference_first; - for (; test_it != test_last; ++test_it, ++reference_it, ++reference_index) - { - BOOST_CHECK_EQUAL( *test_it, *reference_it ); - BOOST_CHECK_EQUAL( test_it.index(), reference_index ); - } -} - int main(int argc, const char* argv[]) { using namespace boost::assign; diff --git a/doc/html/range/reference/adaptors/reference/reversed.html b/doc/html/range/reference/adaptors/reference/reversed.html index 1db2af4..fa07854 100644 --- a/doc/html/range/reference/adaptors/reference/reversed.html +++ b/doc/html/range/reference/adaptors/reference/reversed.html @@ -104,7 +104,7 @@ #include <iostream> #include <vector> -void reversed_example_test() +int main(int argc, const char* argv[]) { using namespace boost::adaptors; using namespace boost::assign; diff --git a/doc/html/range/reference/adaptors/reference/uniqued.html b/doc/html/range/reference/adaptors/reference/uniqued.html index 2ef82e0..2f2a430 100644 --- a/doc/html/range/reference/adaptors/reference/uniqued.html +++ b/doc/html/range/reference/adaptors/reference/uniqued.html @@ -109,7 +109,7 @@ #include <iostream> #include <vector> -void uniqued_example_test() +int main(int argc, const char* argv[]) { using namespace boost::assign; using namespace boost::adaptors; @@ -120,6 +120,8 @@ boost::copy( input | uniqued, std::ostream_iterator<int>(std::cout, ",")); + + return 0; }

diff --git a/doc/reference/adaptors/adjacent_filtered.qbk b/doc/reference/adaptors/adjacent_filtered.qbk index a15f992..076b691 100644 --- a/doc/reference/adaptors/adjacent_filtered.qbk +++ b/doc/reference/adaptors/adjacent_filtered.qbk @@ -19,30 +19,8 @@ * [*Returned Range Category:] The minimum of the range category of `rng` and __forward_range__ [section:adjacent_filtered_example adjacent_filtered example] -`` -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 1,1,2,2,2,3,4,5,6; - - boost::copy( - input | adjacent_filtered(std::not_equal_to()), - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/adjacent_filtered_example.cpp] +[adjacent_filtered_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/copied.qbk b/doc/reference/adaptors/copied.qbk index 69ee46d..e38bf26 100644 --- a/doc/reference/adaptors/copied.qbk +++ b/doc/reference/adaptors/copied.qbk @@ -17,29 +17,8 @@ * [*Returned Range Category:] __random_access_range__ [section:copied_example copied example] -`` -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9,10; - - boost::copy( - input | copied(1, 5), - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/copied_example.cpp] +[copied_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/examples/adjacent_filtered.cpp b/doc/reference/adaptors/examples/adjacent_filtered.cpp deleted file mode 100644 index cc7cd9b..0000000 --- a/doc/reference/adaptors/examples/adjacent_filtered.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 1,1,2,2,2,3,4,5,6; - - boost::copy( - input | adjacent_filtered(std::not_equal_to()), - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/copied.cpp b/doc/reference/adaptors/examples/copied.cpp deleted file mode 100644 index 2de46ab..0000000 --- a/doc/reference/adaptors/examples/copied.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9,10; - - boost::copy( - input | copied(1, 5), - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/filtered.cpp b/doc/reference/adaptors/examples/filtered.cpp deleted file mode 100644 index 6471237..0000000 --- a/doc/reference/adaptors/examples/filtered.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -struct is_even -{ - bool operator()(int x) const { return x % 2 == 0; } -}; - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | filtered(is_even()), - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/indexed.cpp b/doc/reference/adaptors/examples/indexed.cpp deleted file mode 100644 index bb141e8..0000000 --- a/doc/reference/adaptors/examples/indexed.cpp +++ /dev/null @@ -1,45 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -template -void display_element_and_index(Iterator first, Iterator last) -{ - for (Iterator it = first; it != last; ++it) - { - std::cout << "Element = " << *it - << " Index = " << it.index() << std::endl; - } -} - -template -void display_element_and_index(const SinglePassRange& rng) -{ - display_element_and_index(boost::begin(rng), boost::end(rng)); -} - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 10,20,30,40,50,60,70,80,90; - - display_element_and_index( input | indexed(0) ); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/map_keys.cpp b/doc/reference/adaptors/examples/map_keys.cpp deleted file mode 100644 index 006e7e9..0000000 --- a/doc/reference/adaptors/examples/map_keys.cpp +++ /dev/null @@ -1,33 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::map input; - for (int i = 0; i < 10; ++i) - input.insert(std::make_pair(i, i * 10)); - - boost::copy( - input | map_keys, - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/map_values.cpp b/doc/reference/adaptors/examples/map_values.cpp deleted file mode 100644 index a0fa651..0000000 --- a/doc/reference/adaptors/examples/map_values.cpp +++ /dev/null @@ -1,33 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::map input; - for (int i = 0; i < 10; ++i) - input.insert(std::make_pair(i, i * 10)); - - boost::copy( - input | map_values, - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/replaced.cpp b/doc/reference/adaptors/examples/replaced.cpp deleted file mode 100644 index 7b85ba1..0000000 --- a/doc/reference/adaptors/examples/replaced.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,2,5,2,7,2,9; - - boost::copy( - input | replaced(2, 10), - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/replaced_if.cpp b/doc/reference/adaptors/examples/replaced_if.cpp deleted file mode 100644 index 23952f7..0000000 --- a/doc/reference/adaptors/examples/replaced_if.cpp +++ /dev/null @@ -1,35 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -struct is_even -{ - bool operator()(int x) const { return x % 2 == 0; } -}; - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | replaced_if(is_even(), 10), - std::ostream_iterator(std::cout, ",")); - - return 0; -} diff --git a/doc/reference/adaptors/examples/reversed.cpp b/doc/reference/adaptors/examples/reversed.cpp deleted file mode 100644 index 85696cb..0000000 --- a/doc/reference/adaptors/examples/reversed.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | reversed, - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/sliced.cpp b/doc/reference/adaptors/examples/sliced.cpp deleted file mode 100644 index cc8b9cb..0000000 --- a/doc/reference/adaptors/examples/sliced.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | sliced(2, 5), - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/strided.cpp b/doc/reference/adaptors/examples/strided.cpp deleted file mode 100644 index f12b72a..0000000 --- a/doc/reference/adaptors/examples/strided.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9,10; - - boost::copy( - input | strided(2), - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/transformed.cpp b/doc/reference/adaptors/examples/transformed.cpp deleted file mode 100644 index 62bf5d4..0000000 --- a/doc/reference/adaptors/examples/transformed.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -struct double_int -{ - typedef int result_type; - int operator()(int x) const { return x * 2; } -}; - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9,10; - - boost::copy( - input | transformed(double_int()), - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/examples/uniqued.cpp b/doc/reference/adaptors/examples/uniqued.cpp deleted file mode 100644 index a7b2f8e..0000000 --- a/doc/reference/adaptors/examples/uniqued.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is 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) -// -// For more information, see http://www.boost.org/libs/range/ -// -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 1,1,2,2,2,3,4,5,6; - - boost::copy( - input | uniqued, - std::ostream_iterator(std::cout, ",")); - - return 0; -} - diff --git a/doc/reference/adaptors/filtered.qbk b/doc/reference/adaptors/filtered.qbk index 1b14524..a6c7924 100644 --- a/doc/reference/adaptors/filtered.qbk +++ b/doc/reference/adaptors/filtered.qbk @@ -19,32 +19,8 @@ * [*Returned Range Category:] The minimum of the range category of `rng` and __bidirectional_range__ [section:filtered_example filtered example] -`` -#include -#include -#include -#include -#include -#include - -struct is_even -{ - bool operator()( int x ) const { return x % 2 == 0; } -}; - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | filtered(is_even()), - std::ostream_iterator(std::cout, ",")); -} -`` +[import ../../../test/adaptor_test/filtered_example.cpp] +[filtered_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/indexed.qbk b/doc/reference/adaptors/indexed.qbk index d41e625..117e1e3 100644 --- a/doc/reference/adaptors/indexed.qbk +++ b/doc/reference/adaptors/indexed.qbk @@ -17,63 +17,8 @@ * [*Returned Range Category:] The range category of `rng` [section:indexed_example indexed example] -`` -#include -#include -#include -#include -#include -#include - -template -void display_element_and_index(Iterator first, Iterator last) -{ - for (Iterator it = first; it != last; ++it) - { - std::cout << "Element = " << *it << " Index = " << it.index() << std::endl; - } -} - -template -void display_element_and_index(const SinglePassRange& rng) -{ - display_element_and_index(boost::begin(rng), boost::end(rng)); -} - -template -void check_element_and_index( - Iterator1 test_first, - Iterator1 test_last, - Iterator2 reference_first, - Iterator2 reference_last) -{ - BOOST_CHECK_EQUAL( std::distance(test_first, test_last), - std::distance(reference_first, reference_last) ); - - int reference_index = 0; - - Iterator1 test_it = test_first; - Iterator2 reference_it = reference_first; - for (; test_it != test_last; ++test_it, ++reference_it, ++reference_index) - { - BOOST_CHECK_EQUAL( *test_it, *reference_it ); - BOOST_CHECK_EQUAL( test_it.index(), reference_index ); - } -} - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 10,20,30,40,50,60,70,80,90; - - display_element_and_index( input | indexed(0) ); - - return 0; -} -`` +[import ../../../test/adaptor_test/indexed_example.cpp] +[indexed_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/indirected.qbk b/doc/reference/adaptors/indirected.qbk index 5a1ed05..c44c70d 100644 --- a/doc/reference/adaptors/indirected.qbk +++ b/doc/reference/adaptors/indirected.qbk @@ -18,30 +18,8 @@ * [*Returned Range Category:] The range category of `rng` [section:indirected_example indirected example] -`` -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - - std::vector > input; - - for (int i = 0; i < 10; ++i) - input.push_back(boost::shared_ptr(new int(i))); - - boost::copy( - input | indirected, - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/indirected_example.cpp] +[indirected_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/map_keys.qbk b/doc/reference/adaptors/map_keys.qbk index 01b9d34..8ead02b 100644 --- a/doc/reference/adaptors/map_keys.qbk +++ b/doc/reference/adaptors/map_keys.qbk @@ -18,31 +18,8 @@ * [*Returned Range Category:] The range category of `rng`. [section:map_keys_example map_keys example] -`` -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::map input; - for (int i = 0; i < 10; ++i) - input.insert(std::make_pair(i, i * 10)); - - boost::copy( - input | map_keys, - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/map_keys_example.cpp] +[map_keys_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/map_values.qbk b/doc/reference/adaptors/map_values.qbk index 17ad9c4..658e4ff 100644 --- a/doc/reference/adaptors/map_values.qbk +++ b/doc/reference/adaptors/map_values.qbk @@ -18,31 +18,8 @@ * [*Returned Range Category:] The range category of `rng`. [section:map_values_example map_values example] -`` -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::map input; - for (int i = 0; i < 10; ++i) - input.insert(std::make_pair(i, i * 10)); - - boost::copy( - input | map_values, - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/map_values_example.cpp] +[map_values_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/replaced.qbk b/doc/reference/adaptors/replaced.qbk index 3df708c..00285eb 100644 --- a/doc/reference/adaptors/replaced.qbk +++ b/doc/reference/adaptors/replaced.qbk @@ -20,29 +20,8 @@ * [*Returned Range Category:] The range category of `rng`. [section:replaced_example replaced example] -`` -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,2,5,2,7,2,9; - - boost::copy( - input | replaced(2, 10), - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/replaced_example.cpp] +[replaced_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/replaced_if.qbk b/doc/reference/adaptors/replaced_if.qbk index b160b34..81a92e6 100644 --- a/doc/reference/adaptors/replaced_if.qbk +++ b/doc/reference/adaptors/replaced_if.qbk @@ -20,34 +20,8 @@ * [*Returned Range Category:] The range category of `rng`. [section:replaced_if_example replaced_if example] -`` -#include -#include -#include -#include -#include -#include - -struct is_even -{ - bool operator()(int x) const { return x % 2 == 0; } -}; - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | replaced_if(is_even(), 10), - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/replaced_if_example.cpp] +[replaced_if_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/reversed.qbk b/doc/reference/adaptors/reversed.qbk index 7116475..392fd7a 100644 --- a/doc/reference/adaptors/reversed.qbk +++ b/doc/reference/adaptors/reversed.qbk @@ -17,29 +17,8 @@ * [*Returned Range Category:] The range category of `rng`. [section:reversed_example reversed example] -`` -#include -#include -#include -#include -#include -#include - -void reversed_example_test() -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | reversed, - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/reversed_example.cpp] +[reversed_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/sliced.qbk b/doc/reference/adaptors/sliced.qbk index 33b57ca..39f3387 100644 --- a/doc/reference/adaptors/sliced.qbk +++ b/doc/reference/adaptors/sliced.qbk @@ -18,29 +18,8 @@ * [*Returned Range Category:] __random_access_range__ [section:sliced_example sliced example] -`` -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | sliced(2, 5), - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/sliced_example.cpp] +[sliced_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/strided.qbk b/doc/reference/adaptors/strided.qbk index e219a83..a94822c 100644 --- a/doc/reference/adaptors/strided.qbk +++ b/doc/reference/adaptors/strided.qbk @@ -17,29 +17,8 @@ * [*Returned Range Category:] The range category of `rng`. [section:strided_example strided example] -`` -#include -#include -#include -#include -#include -#include - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9,10; - - boost::copy( - input | strided(2), - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/strided_example.cpp] +[strided_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/transformed.qbk b/doc/reference/adaptors/transformed.qbk index ec19583..5bb9828 100644 --- a/doc/reference/adaptors/transformed.qbk +++ b/doc/reference/adaptors/transformed.qbk @@ -19,35 +19,8 @@ * [*Returned Range Category:] The range category of `rng`. [section:transformed_example transformed example] -`` -#include -#include -#include -#include -#include -#include - -struct double_int -{ - typedef int result_type; - int operator()(int x) const { return x * 2; } -}; - -int main(int argc, const char* argv[]) -{ - using namespace boost::adaptors; - using namespace boost::assign; - - std::vector input; - input += 1,2,3,4,5,6,7,8,9,10; - - boost::copy( - input | transformed(double_int()), - std::ostream_iterator(std::cout, ",")); - - return 0; -} -`` +[import ../../../test/adaptor_test/transformed_example.cpp] +[transformed_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/type_erased.qbk b/doc/reference/adaptors/type_erased.qbk index 9fb72a5..be547d3 100644 --- a/doc/reference/adaptors/type_erased.qbk +++ b/doc/reference/adaptors/type_erased.qbk @@ -49,94 +49,8 @@ public: `` [section:type_erased_example type-erased example] -`` -#include -#include -#include -#include -#include -#include -#include -#include - -// The client interface from an OO perspective merely requires a sequence -// of integers that can be forward traversed -typedef boost::any_range< - int - , boost::forward_traversal_tag - , int - , std::ptrdiff_t -> integer_range; - -namespace server -{ - void display_integers(const integer_range& rng) - { - boost::copy(rng, - std::ostream_iterator(std::cout, ",")); - - std::cout << std::endl; - } -} - -namespace client -{ - void run() - { - using namespace boost::assign; - using namespace boost::adaptors; - - // Under most conditions one would simply use an appropriate - // any_range as a function parameter. The type_erased adaptor - // is often superfluous. However because the type_erased - // adaptor is applied to a range, we can use default template - // arguments that are generated in conjunction with the - // range type to which we are applying the adaptor. - - std::vector input; - input += 1,2,3,4,5; - - // Note that this call is to a non-template function - server::display_integers(input); - - std::list input2; - input2 += 6,7,8,9,10; - - // Note that this call is to the same non-tempate function - server::display_integers(input2); - - input2.clear(); - input2 += 11,12,13,14,15; - - // Calling using the adaptor looks like this: - // Notice that here I have a type_erased that would be a - // bidirectional_traversal_tag, but this is convertible - // to the forward_traversal_tag equivalent hence this - // works. - server::display_integers(input2 | type_erased<>()); - - // However we may simply wish to define an adaptor that - // takes a range and makes it into an appropriate - // forward_traversal any_range... - typedef boost::adaptors::type_erased< - boost::use_default - , boost::forward_traversal_tag - > type_erased_forward; - - // This adaptor can turn other containers with different - // value_types and reference_types into the appropriate - // any_range. - - server::display_integers(input2 | type_erased_forward()); - } -} - -int main(int argc, const char* argv[]) -{ - client::run(); - return 0; -} -`` +[import ../../../test/adaptor_test/type_erased_example.cpp] +[type_erased_example] [endsect] This would produce the output: diff --git a/doc/reference/adaptors/uniqued.qbk b/doc/reference/adaptors/uniqued.qbk index a74d1a8..7df92f4 100644 --- a/doc/reference/adaptors/uniqued.qbk +++ b/doc/reference/adaptors/uniqued.qbk @@ -18,27 +18,8 @@ * [*Returned Range Category:] The minimum of the range concept of `rng` and __forward_range__. [section:uniqued_example uniqued example] -`` -#include -#include -#include -#include -#include -#include - -void uniqued_example_test() -{ - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 1,1,2,2,2,3,4,5,6; - - boost::copy( - input | uniqued, - std::ostream_iterator(std::cout, ",")); -} -`` +[import ../../../test/adaptor_test/uniqued_example.cpp] +[uniqued_example] [endsect] This would produce the output: diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index afab584..4eb4506 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -31,21 +31,7 @@ rule range-test ( name : includes * ) } test-suite range : - [ compile ../doc/reference/adaptors/examples/adjacent_filtered.cpp : : example_adjacent_filtered ] - [ compile ../doc/reference/adaptors/examples/copied.cpp : : example_copied ] - [ compile ../doc/reference/adaptors/examples/filtered.cpp : : example_filtered ] - [ compile ../doc/reference/adaptors/examples/indexed.cpp : : example_indexed ] - [ compile ../doc/reference/adaptors/examples/indirected.cpp : : example_indirected ] - [ compile ../doc/reference/adaptors/examples/map_keys.cpp : : example_map_keys ] - [ compile ../doc/reference/adaptors/examples/map_values.cpp : : example_map_values ] - [ compile ../doc/reference/adaptors/examples/replaced.cpp : : example_replaced ] - [ compile ../doc/reference/adaptors/examples/replaced_if.cpp : : example_replaced_if ] - [ compile ../doc/reference/adaptors/examples/reversed.cpp : : example_reversed ] - [ compile ../doc/reference/adaptors/examples/sliced.cpp : : example_sliced ] - [ compile ../doc/reference/adaptors/examples/strided.cpp : : example_strided ] [ compile ../doc/reference/adaptors/examples/tokenized.cpp : : example_tokenized ] - [ compile ../doc/reference/adaptors/examples/transformed.cpp : : example_transformed ] - [ compile ../doc/reference/adaptors/examples/uniqued.cpp : : example_uniqued ] [ compile-fail compile_fail/iterator_range1.cpp ] [ range-test adaptor_test/adjacent_filtered ] [ range-test adaptor_test/copied ] diff --git a/test/adaptor_test/adjacent_filtered_example.cpp b/test/adaptor_test/adjacent_filtered_example.cpp index ce132d6..4611c83 100644 --- a/test/adaptor_test/adjacent_filtered_example.cpp +++ b/test/adaptor_test/adjacent_filtered_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[adjacent_filtered_example #include #include #include @@ -16,6 +17,7 @@ #include #include +//<- #include #include @@ -23,27 +25,32 @@ namespace { - void adjacent_filtered_example_test() - { - using namespace boost::assign; - using namespace boost::adaptors; +void adjacent_filtered_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::assign; + using namespace boost::adaptors; - std::vector input; - input += 1,1,2,2,2,3,4,5,6; + std::vector input; + input += 1,1,2,2,2,3,4,5,6; - boost::copy( - input | adjacent_filtered(std::not_equal_to()), - std::ostream_iterator(std::cout, ",")); + boost::copy( + input | adjacent_filtered(std::not_equal_to()), + std::ostream_iterator(std::cout, ",")); + +//= return 0; +//=} +//] + std::vector reference; + reference += 1,2,3,4,5,6; - std::vector reference; - reference += 1,2,3,4,5,6; + std::vector test; + boost::push_back(test, input | adjacent_filtered(std::not_equal_to())); - std::vector test; - boost::push_back(test, input | adjacent_filtered(std::not_equal_to())); - - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/copied_example.cpp b/test/adaptor_test/copied_example.cpp index 154a110..963ad87 100644 --- a/test/adaptor_test/copied_example.cpp +++ b/test/adaptor_test/copied_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[copied_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,28 +24,32 @@ namespace { - void copied_example_test() - { - using namespace boost::assign; - using namespace boost::adaptors; +void copied_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::assign; + using namespace boost::adaptors; - std::vector input; - input += 1,2,3,4,5,6,7,8,9,10; + std::vector input; + input += 1,2,3,4,5,6,7,8,9,10; - boost::copy( - input | copied(1, 5), - std::ostream_iterator(std::cout, ",")); + boost::copy( + input | copied(1, 5), + std::ostream_iterator(std::cout, ",")); +//= return 0; +//=} +//] + std::vector reference; + reference += 2,3,4,5; - std::vector reference; - reference += 2,3,4,5; + std::vector test; + boost::push_back(test, input | copied(1, 5)); - std::vector test; - boost::push_back(test, input | copied(1, 5)); - - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/filtered_example.cpp b/test/adaptor_test/filtered_example.cpp index 6d0e262..668aba8 100644 --- a/test/adaptor_test/filtered_example.cpp +++ b/test/adaptor_test/filtered_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[filtered_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,32 +24,39 @@ namespace { - struct is_even - { - bool operator()( int x ) const { return x % 2 == 0; } - }; +//-> +struct is_even +{ + bool operator()( int x ) const { return x % 2 == 0; } +}; - void filtered_example_test() - { - using namespace boost::assign; - using namespace boost::adaptors; +//<- +void filtered_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::assign; + using namespace boost::adaptors; - std::vector input; - input += 1,2,3,4,5,6,7,8,9; + std::vector input; + input += 1,2,3,4,5,6,7,8,9; - boost::copy( - input | filtered(is_even()), - std::ostream_iterator(std::cout, ",")); + boost::copy( + input | filtered(is_even()), + std::ostream_iterator(std::cout, ",")); - std::vector reference; - reference += 2,4,6,8; +//= return 0; +//=} +//] + std::vector reference; + reference += 2,4,6,8; - std::vector test; - boost::push_back(test, input | filtered(is_even())); + std::vector test; + boost::push_back(test, input | filtered(is_even())); - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/indexed_example.cpp b/test/adaptor_test/indexed_example.cpp index 14837d2..f921e3f 100644 --- a/test/adaptor_test/indexed_example.cpp +++ b/test/adaptor_test/indexed_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[indexed_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,65 +24,72 @@ namespace { - template - void display_element_and_index(Iterator first, Iterator last) + +template +void check_element_and_index( + Iterator1 test_first, + Iterator1 test_last, + Iterator2 reference_first, + Iterator2 reference_last) +{ + BOOST_CHECK_EQUAL( std::distance(test_first, test_last), + std::distance(reference_first, reference_last) ); + + int reference_index = 0; + + Iterator1 test_it = test_first; + Iterator2 reference_it = reference_first; + for (; test_it != test_last; ++test_it, ++reference_it, ++reference_index) { - for (Iterator it = first; it != last; ++it) - { - std::cout << "Element = " << *it << " Index = " << it.index() << std::endl; - } + BOOST_CHECK_EQUAL( *test_it, *reference_it ); + BOOST_CHECK_EQUAL( test_it.index(), reference_index ); } +} - template - void display_element_and_index(const SinglePassRange& rng) +template +void check_element_and_index( + const SinglePassRange1& test_rng, + const SinglePassRange2& reference_rng) +{ + check_element_and_index(boost::begin(test_rng), boost::end(test_rng), + boost::begin(reference_rng), boost::end(reference_rng)); +} +//-> +template +void display_element_and_index(Iterator first, Iterator last) +{ + for (Iterator it = first; it != last; ++it) { - display_element_and_index(boost::begin(rng), boost::end(rng)); + std::cout << "Element = " << *it << " Index = " << it.index() << std::endl; } +} - template - void check_element_and_index( - Iterator1 test_first, - Iterator1 test_last, - Iterator2 reference_first, - Iterator2 reference_last) - { - BOOST_CHECK_EQUAL( std::distance(test_first, test_last), - std::distance(reference_first, reference_last) ); +template +void display_element_and_index(const SinglePassRange& rng) +{ + display_element_and_index(boost::begin(rng), boost::end(rng)); +} - int reference_index = 0; +//<- +void indexed_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::assign; + using namespace boost::adaptors; - Iterator1 test_it = test_first; - Iterator2 reference_it = reference_first; - for (; test_it != test_last; ++test_it, ++reference_it, ++reference_index) - { - BOOST_CHECK_EQUAL( *test_it, *reference_it ); - BOOST_CHECK_EQUAL( test_it.index(), reference_index ); - } - } + std::vector input; + input += 10,20,30,40,50,60,70,80,90; - template - void check_element_and_index( - const SinglePassRange1& test_rng, - const SinglePassRange2& reference_rng) - { - check_element_and_index(boost::begin(test_rng), boost::end(test_rng), - boost::begin(reference_rng), boost::end(reference_rng)); - } + display_element_and_index( input | indexed(0) ); - void indexed_example_test() - { - using namespace boost::assign; - using namespace boost::adaptors; - - std::vector input; - input += 10,20,30,40,50,60,70,80,90; - - display_element_and_index( input | indexed(0) ); - - check_element_and_index( - input | indexed(0), - input); - } +//= return 0; +//=} +//] + check_element_and_index( + input | indexed(0), + input); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/indirected_example.cpp b/test/adaptor_test/indirected_example.cpp index 8e607a6..2828f15 100644 --- a/test/adaptor_test/indirected_example.cpp +++ b/test/adaptor_test/indirected_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[indirected_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,30 +24,34 @@ namespace { - void indirected_example_test() - { - using namespace boost::adaptors; +void indirected_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::adaptors; - std::vector > input; + std::vector > input; - for (int i = 0; i < 10; ++i) - input.push_back(boost::shared_ptr(new int(i))); - - boost::copy( - input | indirected, - std::ostream_iterator(std::cout, ",")); + for (int i = 0; i < 10; ++i) + input.push_back(boost::shared_ptr(new int(i))); + + boost::copy( + input | indirected, + std::ostream_iterator(std::cout, ",")); +//= return 0; +//=} +//] + std::vector reference; + for (int i = 0; i < 10; ++i) + reference.push_back(i); - std::vector reference; - for (int i = 0; i < 10; ++i) - reference.push_back(i); + std::vector test; + boost::push_back(test, input | indirected); - std::vector test; - boost::push_back(test, input | indirected); - - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/map_keys_example.cpp b/test/adaptor_test/map_keys_example.cpp index df85456..a506e1a 100644 --- a/test/adaptor_test/map_keys_example.cpp +++ b/test/adaptor_test/map_keys_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[map_keys_example #include #include #include @@ -16,6 +17,7 @@ #include #include +//<- #include #include @@ -23,29 +25,33 @@ namespace { - void map_keys_example_test() - { - using namespace boost::assign; - using namespace boost::adaptors; +void map_keys_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::assign; + using namespace boost::adaptors; - std::map input; - for (int i = 0; i < 10; ++i) - input.insert(std::make_pair(i, i * 10)); + std::map input; + for (int i = 0; i < 10; ++i) + input.insert(std::make_pair(i, i * 10)); - boost::copy( - input | map_keys, - std::ostream_iterator(std::cout, ",")); + boost::copy( + input | map_keys, + std::ostream_iterator(std::cout, ",")); - - std::vector reference; - reference += 0,1,2,3,4,5,6,7,8,9; +//= return 0; +//=} +//] + std::vector reference; + reference += 0,1,2,3,4,5,6,7,8,9; - std::vector test; - boost::push_back(test, input | map_keys); + std::vector test; + boost::push_back(test, input | map_keys); - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/map_values_example.cpp b/test/adaptor_test/map_values_example.cpp index dfb32e9..6821004 100644 --- a/test/adaptor_test/map_values_example.cpp +++ b/test/adaptor_test/map_values_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[map_values_example #include #include #include @@ -16,6 +17,7 @@ #include #include +//<- #include #include @@ -23,29 +25,33 @@ namespace { - void map_values_example_test() - { - using namespace boost::assign; - using namespace boost::adaptors; +void map_values_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::assign; + using namespace boost::adaptors; - std::map input; - for (int i = 0; i < 10; ++i) - input.insert(std::make_pair(i, i * 10)); + std::map input; + for (int i = 0; i < 10; ++i) + input.insert(std::make_pair(i, i * 10)); - boost::copy( - input | map_values, - std::ostream_iterator(std::cout, ",")); + boost::copy( + input | map_values, + std::ostream_iterator(std::cout, ",")); - - std::vector reference; - reference += 0,10,20,30,40,50,60,70,80,90; +//= return 0; +//=} +//] + std::vector reference; + reference += 0,10,20,30,40,50,60,70,80,90; - std::vector test; - boost::push_back(test, input | map_values); + std::vector test; + boost::push_back(test, input | map_values); - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/replaced_example.cpp b/test/adaptor_test/replaced_example.cpp index fc1d2db..fdb21aa 100644 --- a/test/adaptor_test/replaced_example.cpp +++ b/test/adaptor_test/replaced_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[replaced_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,28 +24,32 @@ namespace { - void replaced_example_test() - { - using namespace boost::adaptors; - using namespace boost::assign; +void replaced_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::adaptors; + using namespace boost::assign; - std::vector input; - input += 1,2,3,2,5,2,7,2,9; - - boost::copy( - input | replaced(2, 10), - std::ostream_iterator(std::cout, ",")); + std::vector input; + input += 1,2,3,2,5,2,7,2,9; + + boost::copy( + input | replaced(2, 10), + std::ostream_iterator(std::cout, ",")); +//= return 0; +//=} +//] + std::vector reference; + reference += 1,10,3,10,5,10,7,10,9; - std::vector reference; - reference += 1,10,3,10,5,10,7,10,9; + std::vector test; + boost::push_back(test, input | replaced(2, 10)); - std::vector test; - boost::push_back(test, input | replaced(2, 10)); - - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/replaced_if_example.cpp b/test/adaptor_test/replaced_if_example.cpp index c762c2f..58b8427 100644 --- a/test/adaptor_test/replaced_if_example.cpp +++ b/test/adaptor_test/replaced_if_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[replaced_if_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,32 +24,39 @@ namespace { - struct is_even - { - bool operator()(int x) const { return x % 2 == 0; } - }; +//-> +struct is_even +{ + bool operator()(int x) const { return x % 2 == 0; } +}; - void replaced_if_example_test() - { - using namespace boost::adaptors; - using namespace boost::assign; +//<- +void replaced_if_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::adaptors; + using namespace boost::assign; - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | replaced_if(is_even(), 10), - std::ostream_iterator(std::cout, ",")); + std::vector input; + input += 1,2,3,4,5,6,7,8,9; + + boost::copy( + input | replaced_if(is_even(), 10), + std::ostream_iterator(std::cout, ",")); - std::vector reference; - reference += 1,10,3,10,5,10,7,10,9; +//= return 0; +//=} +//] + std::vector reference; + reference += 1,10,3,10,5,10,7,10,9; - std::vector test; - boost::push_back(test, input | replaced_if(is_even(), 10)); + std::vector test; + boost::push_back(test, input | replaced_if(is_even(), 10)); - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/reversed_example.cpp b/test/adaptor_test/reversed_example.cpp index 553e7d7..d176e84 100644 --- a/test/adaptor_test/reversed_example.cpp +++ b/test/adaptor_test/reversed_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[reversed_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,25 +24,29 @@ namespace { - void reversed_example_test() - { - using namespace boost::adaptors; - using namespace boost::assign; +void reversed_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::adaptors; + using namespace boost::assign; - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | reversed, - std::ostream_iterator(std::cout, ",")); + std::vector input; + input += 1,2,3,4,5,6,7,8,9; + + boost::copy( + input | reversed, + std::ostream_iterator(std::cout, ",")); +//= return 0; +//=} +//] + std::vector test; + boost::push_back(test, input | reversed); - std::vector test; - boost::push_back(test, input | reversed); - - BOOST_CHECK_EQUAL_COLLECTIONS( input.rbegin(), input.rend(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( input.rbegin(), input.rend(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/sliced_example.cpp b/test/adaptor_test/sliced_example.cpp index 5761844..39b14bf 100644 --- a/test/adaptor_test/sliced_example.cpp +++ b/test/adaptor_test/sliced_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[sliced_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,28 +24,32 @@ namespace { - void sliced_example_test() - { - using namespace boost::adaptors; - using namespace boost::assign; +void sliced_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::adaptors; + using namespace boost::assign; - std::vector input; - input += 1,2,3,4,5,6,7,8,9; - - boost::copy( - input | sliced(2, 5), - std::ostream_iterator(std::cout, ",")); + std::vector input; + input += 1,2,3,4,5,6,7,8,9; + + boost::copy( + input | sliced(2, 5), + std::ostream_iterator(std::cout, ",")); +//= return 0; +//=} +//] + std::vector reference; + reference += 3,4,5; - std::vector reference; - reference += 3,4,5; + std::vector test; + boost::push_back(test, input | sliced(2, 5)); - std::vector test; - boost::push_back(test, input | sliced(2, 5)); - - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/strided_example.cpp b/test/adaptor_test/strided_example.cpp index 5754c53..a94fbbf 100644 --- a/test/adaptor_test/strided_example.cpp +++ b/test/adaptor_test/strided_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[strided_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,28 +24,32 @@ namespace { - void strided_example_test() - { - using namespace boost::adaptors; - using namespace boost::assign; +void strided_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::adaptors; + using namespace boost::assign; - std::vector input; - input += 1,2,3,4,5,6,7,8,9,10; - - boost::copy( - input | strided(2), - std::ostream_iterator(std::cout, ",")); + std::vector input; + input += 1,2,3,4,5,6,7,8,9,10; + + boost::copy( + input | strided(2), + std::ostream_iterator(std::cout, ",")); +//= return 0; +//=} +//] + std::vector reference; + reference += 1,3,5,7,9; - std::vector reference; - reference += 1,3,5,7,9; + std::vector test; + boost::push_back(test, input | strided(2)); - std::vector test; - boost::push_back(test, input | strided(2)); - - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/transformed_example.cpp b/test/adaptor_test/transformed_example.cpp index 3d05c95..109302b 100644 --- a/test/adaptor_test/transformed_example.cpp +++ b/test/adaptor_test/transformed_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[transformed_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,34 +24,40 @@ namespace { - struct double_int - { - typedef int result_type; - int operator()(int x) const { return x * 2; } - }; +//-> +struct double_int +{ + typedef int result_type; + int operator()(int x) const { return x * 2; } +}; - void transformed_example_test() - { - using namespace boost::adaptors; - using namespace boost::assign; +//<- +void transformed_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::adaptors; + using namespace boost::assign; - std::vector input; - input += 1,2,3,4,5,6,7,8,9,10; - - boost::copy( - input | transformed(double_int()), - std::ostream_iterator(std::cout, ",")); + std::vector input; + input += 1,2,3,4,5,6,7,8,9,10; + + boost::copy( + input | transformed(double_int()), + std::ostream_iterator(std::cout, ",")); +//= return 0; +//=} +//] + std::vector reference; + reference += 2,4,6,8,10,12,14,16,18,20; - std::vector reference; - reference += 2,4,6,8,10,12,14,16,18,20; + std::vector test; + boost::push_back(test, input | transformed(double_int())); - std::vector test; - boost::push_back(test, input | transformed(double_int())); - - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite* diff --git a/test/adaptor_test/type_erased_example.cpp b/test/adaptor_test/type_erased_example.cpp index 754fba6..0d17eff 100644 --- a/test/adaptor_test/type_erased_example.cpp +++ b/test/adaptor_test/type_erased_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[type_erased_example #include #include #include @@ -16,7 +17,7 @@ #include #include #include - +//<- #include #include @@ -26,6 +27,7 @@ namespace { namespace type_erased_example { +//-> // The client interface from an OO perspective merely requires a sequence // of integers that can be forward traversed @@ -99,6 +101,13 @@ namespace client } } +//=int main(int argc, const char* argv[]) +//={ +//= client::run(); +//= return 0; +//=} +//] + } // namespace type_erased_example } // namespace boost_range_test } // anonymous namespace diff --git a/test/adaptor_test/uniqued_example.cpp b/test/adaptor_test/uniqued_example.cpp index c48c54a..184ff2d 100644 --- a/test/adaptor_test/uniqued_example.cpp +++ b/test/adaptor_test/uniqued_example.cpp @@ -8,6 +8,7 @@ // // For more information, see http://www.boost.org/libs/range/ // +//[uniqued_example #include #include #include @@ -15,6 +16,7 @@ #include #include +//<- #include #include @@ -22,27 +24,32 @@ namespace { - void uniqued_example_test() - { - using namespace boost::assign; - using namespace boost::adaptors; +void uniqued_example_test() +//-> +//=int main(int argc, const char* argv[]) +{ + using namespace boost::assign; + using namespace boost::adaptors; - std::vector input; - input += 1,1,2,2,2,3,4,5,6; + std::vector input; + input += 1,1,2,2,2,3,4,5,6; - boost::copy( - input | uniqued, - std::ostream_iterator(std::cout, ",")); + boost::copy( + input | uniqued, + std::ostream_iterator(std::cout, ",")); - std::vector reference; - reference += 1,2,3,4,5,6; +//= return 0; +//=} +//] + std::vector reference; + reference += 1,2,3,4,5,6; - std::vector test; - boost::push_back( test, input | uniqued ); + std::vector test; + boost::push_back( test, input | uniqued ); - BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), - test.begin(), test.end() ); - } + BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(), + test.begin(), test.end() ); +} } boost::unit_test::test_suite*