825 Commits

Author SHA1 Message Date
Eric Niebler 9e5680b590 Don't assume that because type T is a range that const T is also a range.
size_type<const T> erroneously dispatches to detail::size_type_<T>. That breaks for types that have non-const begin/end but that don't have const begin/end. The range-v3 library has such types.
2016-11-18 11:50:32 -08:00
Jean-Philippe DUFRAIGNE 1b4f8100ef Allow iterator copy for lambda in transformed and filtered
Lambda has no default constructor nor a copy or move assignment.

range\test\adaptors.cpp is checking that produced ranges are copiable,
but it is not doing so the for lambda, or lambda like objects.

default_constructible_unary_fn uses an optional for default
construction.
I extended it to use its emplace facility to copy assign non copy
assignable types.
(see boost::optional 'Type Requierment':  'If T is not MoveAssignable,
it is still possible to reset the value of optional<T> using function
emplace():')
2016-10-23 23:27:31 +01:00
Rene Rivera 7567dce0c1 Add, and update, documentation build targets. 2016-10-10 11:39:52 -05:00
Rene Rivera e48b9c38e7 Add, and update, documentation build targets. 2016-10-07 23:07:36 -05:00
mateuszlewko 283b8beddc Update irange.hpp
Added: irange(int last), irange(int first, int last)
2016-04-09 19:32:22 +02:00
Antony Polukhin 4ce15f9b52 Added BOOST_CONSTEXPR for begin()/end() 2016-01-24 22:51:19 +03:00
Tim Blechmann bb43887430 irange: introduce one-parameter variant of irange
this simplifies the use of boost::irange, as boost::irange( 0, foo );
may compile or not depending on the platform-specific integer type of
foo, requiring an explicit cast of 0 to decltype(foo).
2016-01-17 11:40:55 +01:00
neilgroves 5a37aa4e98 Merge pull request #41 from robin-eckert/adaptor_ref_unwrapped
add a new range adaptor boost::adaptors::ref_unwrapped
2016-01-04 16:38:36 +00:00
neilgroves 0e931f4a80 Merge pull request #33 from tobias-loew/master
Ticket #10397 - compilation error with mfc-iteratior-support: ambiguous symbol
boost-1.62.0 boost-1.61.0
2016-01-04 16:37:18 +00:00
neilgroves 5196baa1b0 Merge pull request #42 from rydotyosh/patch-1
[range] fixed minor typo in docs
2016-01-04 16:36:58 +00:00
neilgroves 1947daf1b5 Merge pull request #39 from MarcelRaad/fix_iterator_pair_test
Fix test compilation
2016-01-04 16:36:42 +00:00
rydotyosh 7ca999c662 [range] fixed minor typo in docs 2015-11-14 15:41:48 +09:00
neilgroves e7ebe14707 Merge pull request #40 from treh/treh-patch-1
qualify boost::range_[const|mutable]_iterator
2015-11-05 11:42:43 +00:00
Robin Eckert 3225aaf82b add a new range adaptor boost::adaptors::ref_unwrapped
The new adaptor is like boost::adaptors::indirected, but for
std::reference_wrapper values (instead of pointer). It calls
.get() on every value and returns the result. It is useful for
range-based iteration of ranges of std::reference_wrapper (or
related) types.
2015-11-04 19:12:26 +01:00
treh 262c0f96b3 qualify boost::range_[const|mutable]_iterator
otherwise boost::range_detail::range_[const|mutable]_iterator gets accidentily called
2015-11-04 09:58:15 +01:00
Marcel Raad 1a3aeeb336 Fix test compilation
boost::detail::iterator_traits was used without including the necessary header
file. It's deprecated anyway and only maps to std::iterator_traits. Also,
utility was missing for std::pair.
2015-09-22 00:51:41 +02:00
neilgroves 78a8f5bf3d Merge pull request #38 from MarcelRaad/patch-1
Fix compilation
2015-09-18 09:08:01 +01:00
Marcel Raad 9bf860fd30 Fix compilation
boost::detail::iterator_traits was used without including the necessary header file. It's deprecated anyway and only maps to std::iterator_traits.
2015-09-18 09:54:08 +02:00
neilgroves 64c83341ab Merge pull request #37 from mclow/develop
Remove use of deprecated macros
2015-09-13 21:52:09 +01:00
Marshall Clow 6241dc62aa Remove use of deprecated macros 2015-09-11 15:16:24 -07:00
neilgroves f83381d938 Merge pull request #36 from morinmorin/fix/ticket11563
Fix ticket 11563 (boost::range behavior changed from 1.55 to 1.56)
2015-09-07 07:45:08 +01:00
neilgroves 926318105e Merge pull request #35 from morinmorin/fix/credit_in_trac5014
Fix credit in ticket 5014 testcase
2015-09-07 07:44:51 +01:00
neilgroves 140866b402 Merge pull request #34 from morinmorin/fix/ticket11528
Fix ticket 11528 (MSVS 2015 + boost::range: STL and Boost iterators)
2015-09-07 07:44:35 +01:00
morinmorin 490ba3fdcd Reapply r85400 (this time use Iterator1 instead of Iterator2 as per r85691) and enhance the testcase; fixes ticket 11563. 2015-08-21 21:40:25 +09:00
morinmorin e4f456d438 Fix credit in ticket 5014 testcase 2015-08-20 20:36:19 +09:00
morinmorin adcb071dc6 Replace std::min_element/max_element with boost::first_min_element/first_max_element to accept a range that models ForwardRange but its underlying iterator models only InputIterator; fixes ticket 11528. 2015-08-20 20:03:08 +09:00
tobias-loew 4f66482414 Ticket #10397 - compilation error with mfc-iteratior-support: ambiguous symbol
fixed compilation error for mfc-iteration-support

changed
boost::range_detail::range_const_iterator
to
boost::range_detail::range_const_iterator_helper

to address compilation error when using mfc-iteration-support
2015-08-12 15:32:31 +02:00
neilgroves 7fad9837fb Merge pull request #32 from mclow/develop
Add char16_t and char32_t to the list of literal string types. Fixes …
2015-05-13 12:23:39 +01:00
Marshall Clow 11dbb1cb5a Add char16_t and char32_t to the list of literal string types. Fixes bug 11265 in Boost.StringAlgo's join. 2015-05-12 21:26:05 -06:00
neilgroves e961e66909 Merge pull request #26 from Yasami/develop
fix missing return statement
2015-04-27 19:51:18 +01:00
neilgroves 8847fd63cb Merge pull request #30 from nekko1119/pr-fix-doc
Fix parameters in replaced adaptor document
2015-04-27 19:50:57 +01:00
neilgroves 62941f740d Merge pull request #31 from eldiener/develop
Use operator || rather than boost::mpl::or_ for constant boolean exprtession.
2015-04-27 19:49:28 +01:00
Edward Diener 0c930a3697 Fix syntax error. 2015-04-27 14:06:59 -04:00
Edward Diener 09084d6355 Use || operator instead of boost::mpl::or_ for constant boolean value since current Boost compilers all support operator use. 2015-04-27 13:18:48 -04:00
nekko1119 9ca1622dd0 Fix parameters in replaced adaptor document 2015-04-22 02:48:05 +09:00
Neil Groves 7669f52547 Merge branch 'develop' boost-1.60.0 boost-1.59.0 2015-04-21 08:22:15 +01:00
Eric Niebler c6c4a8f3c1 Merge pull request #29 from ericniebler/develop
fix build break on msvc-8.0
2015-04-19 13:28:52 -07:00
Eric Niebler 3d5f3611ba fix build break on msvc-8.0 2015-04-18 11:42:38 -07:00
neilgroves 8c1180f7f2 Merge pull request #27 from eldiener/develop
Remove dependency on type traits ice_xxx.hpp headers, which are deprecat...
2015-04-14 09:27:05 +01:00
neilgroves 8ea11f9281 Merge pull request #28 from ericniebler/develop
make range_iterator, range_difference, and range_size SFINAE-friendly, r...
2015-04-14 09:26:35 +01:00
Eric Niebler 811b27141a make range_iterator, range_difference, and range_size SFINAE-friendly, refs #11187 2015-04-14 00:57:54 -07:00
Edward Diener a53bd134b2 Remove dependency on type traits ice_xxx.hpp headers, which are deprecated. 2015-04-02 01:54:45 -04:00
Neil Groves 0b28fd043f Fix for MSVC subrange iterator conversions. 2015-02-09 01:21:16 +00:00
Masahide Sakamaki 474c62ab16 fix missing return statement 2015-02-04 15:52:15 +09:00
Neil Groves de206a64db ticket10514 subrange unit test added. 2015-02-02 20:26:31 +00:00
Neil Groves 435ca994bf Ticket 10989 - strided adapter category. 2015-02-02 20:17:04 +00:00
Neil Groves 4a80ccd50d Ticket 10988 - Filtered adaptor should only require SinglePassRange. 2015-02-01 19:05:58 +00:00
Neil Groves 6f11252633 Ticket 10336 - unit test added. 2015-01-31 14:50:58 +00:00
Neil Groves 2356783e17 Merge branch 'develop'
Conflicts:
	include/boost/range/detail/any_iterator.hpp
	test/iterator_range.cpp
boost-1.58.0
2015-01-31 13:38:08 +00:00
Neil Groves 688d1bc418 Update inclusion of polymorphic_cast.hpp to cat.hpp 2015-01-31 13:31:33 +00:00