Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r72102 - in trunk: boost/range/adaptor libs/range/test
From: neil_at_[hidden]
Date: 2011-05-22 16:33:06


Author: neilgroves
Date: 2011-05-22 16:33:06 EDT (Sun, 22 May 2011)
New Revision: 72102
URL: http://svn.boost.org/trac/boost/changeset/72102

Log:
[boost][range] - Ticket 5486 - Removal of unnecessary variables from adjacent_filtered_range. This removes the requirement for the predicate to be default constructible.
Added:
   trunk/libs/range/test/ticket_5486.cpp (contents, props changed)
Text files modified:
   trunk/boost/range/adaptor/adjacent_filtered.hpp | 4 ----
   trunk/libs/range/test/Jamfile.v2 | 1 +
   2 files changed, 1 insertions(+), 4 deletions(-)

Modified: trunk/boost/range/adaptor/adjacent_filtered.hpp
==============================================================================
--- trunk/boost/range/adaptor/adjacent_filtered.hpp (original)
+++ trunk/boost/range/adaptor/adjacent_filtered.hpp 2011-05-22 16:33:06 EDT (Sun, 22 May 2011)
@@ -143,10 +143,6 @@
                          skip_iter(boost::end(r), boost::end(r), p))
             {
             }
-
- private:
- P m_pred;
- R* m_range;
         };
 
         template< class T >

Modified: trunk/libs/range/test/Jamfile.v2
==============================================================================
--- trunk/libs/range/test/Jamfile.v2 (original)
+++ trunk/libs/range/test/Jamfile.v2 2011-05-22 16:33:06 EDT (Sun, 22 May 2011)
@@ -156,6 +156,7 @@
         [ range-test std_container ]
         [ range-test string ]
         [ range-test sub_range ]
+ [ range-test ticket_5486 ]
         [ range-test ticket_5544_terminate_irange ]
         [ range-test ticket_5556_is_sorted_namespace ]
     ;

Added: trunk/libs/range/test/ticket_5486.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/range/test/ticket_5486.cpp 2011-05-22 16:33:06 EDT (Sun, 22 May 2011)
@@ -0,0 +1,56 @@
+// Boost.Range library
+//
+// Copyright Neil Groves 2011. 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 <boost/range/adaptor/adjacent_filtered.hpp>
+#include <boost/range/algorithm_ext/push_back.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <functional>
+#include <vector>
+
+namespace boost
+{
+ namespace
+ {
+ class TestTicket5486Pred
+ : public std::binary_function<int,int,bool>
+ {
+ public:
+ explicit TestTicket5486Pred(int x) {}
+ bool operator()(int,int) const { return true; }
+ private:
+ TestTicket5486Pred();
+ };
+
+ // Ticket 5486 - pertained to predicates erroneous
+ // requiring default construction
+ void test_ticket_5486()
+ {
+ std::vector<int> v;
+ boost::push_back(v, v | boost::adaptors::adjacent_filtered(TestTicket5486Pred(1)));
+
+ BOOST_CHECK_EQUAL_COLLECTIONS( v.begin(), v.end(),
+ v.begin(), v.end() );
+ }
+ }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+ boost::unit_test::test_suite* test
+ = BOOST_TEST_SUITE( "RangeTestSuite.ticket_5486" );
+
+ test->add( BOOST_TEST_CASE( &boost::test_ticket_5486 ) );
+
+ return test;
+}


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk