summaryrefslogtreecommitdiff
path: root/libs/range
diff options
context:
space:
mode:
Diffstat (limited to 'libs/range')
-rw-r--r--libs/range/doc/html/index.html2
-rw-r--r--libs/range/doc/html/range/reference/algorithms/introduction.html2
-rw-r--r--libs/range/doc/reference/algorithms.qbk2
-rw-r--r--libs/range/meta/libraries.json16
-rw-r--r--libs/range/test/iterator_range.cpp41
5 files changed, 47 insertions, 16 deletions
diff --git a/libs/range/doc/html/index.html b/libs/range/doc/html/index.html
index e698d190a..9f673a081 100644
--- a/libs/range/doc/html/index.html
+++ b/libs/range/doc/html/index.html
@@ -150,7 +150,7 @@
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: October 30, 2014 at 10:16:50 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 07, 2015 at 22:46:26 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
diff --git a/libs/range/doc/html/range/reference/algorithms/introduction.html b/libs/range/doc/html/range/reference/algorithms/introduction.html
index fcefa2b9a..51babbc43 100644
--- a/libs/range/doc/html/range/reference/algorithms/introduction.html
+++ b/libs/range/doc/html/range/reference/algorithms/introduction.html
@@ -210,7 +210,7 @@
</p>
<p>
Notice the use of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_found_end</span></code>.
- What if we wanted to erase all the duplicates except one of them? In old-fashined
+ What if we wanted to erase all the duplicates except one of them? In old-fashioned
STL-programming we might write
</p>
<p>
diff --git a/libs/range/doc/reference/algorithms.qbk b/libs/range/doc/reference/algorithms.qbk
index ce4b14016..8dcd84896 100644
--- a/libs/range/doc/reference/algorithms.qbk
+++ b/libs/range/doc/reference/algorithms.qbk
@@ -63,7 +63,7 @@ std::vector<int> vec = ...;
boost::erase(vec, boost::unique<boost::return_found_end>(boost::sort(vec)));
``
-Notice the use of `boost::return_found_end`. What if we wanted to erase all the duplicates except one of them? In old-fashined STL-programming we might write
+Notice the use of `boost::return_found_end`. What if we wanted to erase all the duplicates except one of them? In old-fashioned STL-programming we might write
``
// assume 'vec' is already sorted
diff --git a/libs/range/meta/libraries.json b/libs/range/meta/libraries.json
new file mode 100644
index 000000000..9e2be2093
--- /dev/null
+++ b/libs/range/meta/libraries.json
@@ -0,0 +1,16 @@
+{
+ "key": "range",
+ "name": "Range",
+ "authors": [
+ "Niel Groves",
+ "Thorsten Ottosen"
+ ],
+ "description": "A new infrastructure for generic algorithms that builds on top of the new iterator concepts.",
+ "category": [
+ "Algorithms"
+ ],
+ "maintainers": [
+ "Neil Groves <neilgroves -at- googlemail.com>",
+ "Nathan Ridge <zeratul976 -at- hotmail.com>"
+ ]
+}
diff --git a/libs/range/test/iterator_range.cpp b/libs/range/test/iterator_range.cpp
index 168eb2218..97c966ac5 100644
--- a/libs/range/test/iterator_range.cpp
+++ b/libs/range/test/iterator_range.cpp
@@ -266,21 +266,18 @@ inline void test_advance()
BOOST_CHECK_EQUAL(r3.advance_end(-1).size(), 1u);
}
-boost::unit_test::test_suite* init_unit_test_suite( int argc, char* argv[] )
+struct ptr_iterator
+ : boost::iterator_adaptor<ptr_iterator, int *>
{
- boost::unit_test::test_suite* test = BOOST_TEST_SUITE( "Range Test Suite" );
-
- test->add(BOOST_TEST_CASE(&check_iterator_range));
- test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::less>));
- test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::less_or_equal>));
- test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::greater>));
- test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::greater_or_equal>));
- test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::equal_to>));
- test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::not_equal_to>));
- test->add(BOOST_TEST_CASE(&iterator_range_test_detail::check_make_iterator_range_n));
- test->add(BOOST_TEST_CASE(&test_advance));
+ ptr_iterator() {}
+ ptr_iterator(int *p) : boost::iterator_adaptor<ptr_iterator, int *>(p) {}
+private:
+ typedef void iterator; // To throw off the SFINAE mechanism in iterator_range
+};
- return test;
+void test_sfinae()
+{
+ boost::iterator_range<ptr_iterator> r(ptr_iterator(0), ptr_iterator(0));
}
//
@@ -313,3 +310,21 @@ void check_reference_type()
test_iter_range<veci_type>(a_vec);
test_iter_range<veci_type const>(a_vec);
}
+
+boost::unit_test::test_suite* init_unit_test_suite( int argc, char* argv[] )
+{
+ boost::unit_test::test_suite* test = BOOST_TEST_SUITE( "Range Test Suite" );
+
+ test->add(BOOST_TEST_CASE(&check_iterator_range));
+ test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::less>));
+ test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::less_or_equal>));
+ test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::greater>));
+ test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::greater_or_equal>));
+ test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::equal_to>));
+ test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::not_equal_to>));
+ test->add(BOOST_TEST_CASE(&iterator_range_test_detail::check_make_iterator_range_n));
+ test->add(BOOST_TEST_CASE(&test_advance));
+
+ return test;
+}
+