Commit Graph
425 Commits
Author SHA1 Message Date
Andrey Semashev 3b04f1a65e Remove uses of deprecated header boost/detail/iterator.hpp.
This header was deprecated in favor of <iterator>. It generates compiler
warnings and will be removed in a future release.
2020-05-11 19:13:20 +03:00
neilgroves 994ff83292 Merge pull request #95 from mjendruk/fix-lower-upper-bound-taking-argument-by-value
Make lower_bound and upper_bound take argument by const reference
2020-02-13 09:38:29 +00:00
neilgroves 77e5b868a0 Merge pull request #97 from Kojoley/remove-broken-no_function_template_ordering-support
Remove broken BOOST_NO_FUNCTION_TEMPLATE_ORDERING workaround
2020-02-13 09:37:35 +00:00
Nikita Kniazev f1215fbda2 Remove broken BOOST_NO_FUNCTION_TEMPLATE_ORDERING workaround
The workaround seems to be broken for a while, no compilers with that bug are
tested/supported, and there is no complaint whatsoever, not even on trac.
2019-09-28 01:11:01 +03:00
code@jendruk.com 5f04231144 Make lower_bound and upper_bound take argument by const reference 2019-05-31 16:06:46 +02:00
code@jendruk.com 4e0b172a23 Merge branch 'fix-any-range-non-reference-references' of https://github.com/mjendruk/range into fix-any-range-non-reference-references
# Conflicts:
#	include/boost/range/detail/any_iterator_interface.hpp
2019-05-31 10:46:51 +02:00
code@jendruk.com 21a06a93aa Replace decay with remove_reference / remove_const 2019-05-31 10:46:04 +02:00
Max Jendruk 6b3750f209 Remove unused include 2019-05-08 22:43:09 +02:00
code@jendruk.com 1bf2db29c0 Replace is_copy_constructible and is_abstract with is_convertible 2019-05-08 17:21:45 +02:00
code@jendruk.com 9f03cc44d8 Add is_copy_constructible for >= C++11 2019-05-08 09:58:37 +02:00
code@jendruk.com ce24356018 Replace is_copy_constructible with is_abstract (for pre C++11) 2019-05-07 15:03:56 +02:00
code@jendruk.com dbb6ef424f Fix any_range with non-reference references can cause UB 2019-05-07 12:06:05 +02:00
Glen Fernandes 4ec46acdf5 Implement min_element and max_element and sever algorithm dependency 2019-04-22 18:20:35 -04:00
Peter Dimov 023f45be01 Remove constexpr from begin/end on g++ 4.6 as it doesn't like it 2018-09-30 01:34:50 +03:00
Peter Dimov 364f755d99 Use boost::declval, as g++ 4.4 has decltype but no std::declval 2018-09-30 01:11:12 +03:00
Peter Dimov b91cb90dca Make min/max engine members constexpr in random_shuffle.hpp 2018-09-24 02:26:50 +03:00
Peter Dimov 7efe3c68f6 Fix msvc-10.0, msvc-11.0 failures in ref_unwrapped tests 2018-09-24 02:21:55 +03:00
morinmorin 9192996a93 Add ADL guard namespace for boost::distance(rng). 2018-09-23 21:45:30 +09:00
Peter Dimov 406226eccd Change RandomAccessIteratorConcept to BidirectionalIteratorConcept to work around a MSVC bug 2018-07-10 13:12:55 +03:00
Peter Dimov c24661a636 Remove ill-formed MSVC-specific code that doesn't compile with /permissive- 2018-07-09 20:41:33 +03:00
Nathan Cook f1906e914e use _MSC_VER to guard fix for C4596 when compiling with MSVC141 2018-02-28 13:43:34 +00:00
Nathan Cook 795046f8fc Fix Error C4596: 'difference_type': illegal qualified name in member declaration when compiling with VS 2017 Professional 15.5.6 2018-02-28 10:55:24 +00:00
neilgroves 5b2500872d Revert "push_back: added support for not-copyable but moveable value-types li…" 2018-01-03 14:36:50 +00:00
Daniel James e0d2e492a1 Include boost/next_prior.hpp where needed
A recent change to boost/utility.hpp removed the include of this header,
so now it's needed for boost::prior and boost::next.

https://github.com/boostorg/utility/commit/b74f49f1e56e0be7eda4085de9aa0107526b423e
2017-12-02 10:40:16 +00:00
neilgroves 4614777aaf Revert "Update irange.hpp" 2017-11-15 23:21:32 +00:00
neilgroves 83a352fa58 Merge pull request #45 from mateuszlewko/develop
Update irange.hpp
2017-11-15 19:52:41 +00:00
neilgroves 0e0d77cfab Merge pull request #56 from tonyelewis/add_const_to_adj_filt_rng
Add missing const to adjacent_filtered_range
2017-11-15 19:51:18 +00:00
neilgroves d1f36fba8d Merge pull request #54 from cwecht/push_back_move_support
push_back: added support for not-copyable but moveable value-types li…
2017-11-15 19:51:00 +00:00
neilgroves 3771624560 Merge pull request #43 from timblechmann/topic/unary-irange
irange: introduce one-parameter variant of irange
2017-11-15 19:48:19 +00:00
Tony Lewis dfa3697764 Add missing const to adjacent_filtered_range 2017-09-14 20:07:07 +01:00
Christopher Wecht d99628981d push_back: added support for not-copyable but moveable value-types like e.g. unique_ptr 2017-09-01 17:53:46 +02:00
morinmorin 93513a3801 Make rng | replaced_if consistent with rng | replaced 2017-07-12 22:08:22 +09:00
morinmorin 93eb91e63e Fix breakage in replaced adaptor for C++03 2017-07-12 22:06:58 +09:00
neilgroves f3a4246bd9 Merge pull request #48 from t-wynants/fix-ticket-12754-sfinae-friendly-overload
Ticket 12754 - sfinea friendly boost::range_details::replace_holder overloads
2017-06-30 12:45:34 +01:00
neilgroves 796080bbb8 Merge pull request #46 from jeanphilippeD/lambda_copy_transform_it
Allow iterator copy for lambda in transformed and filtered
2017-06-30 12:43:38 +01:00
neilgroves 370f1a4cd2 Merge pull request #51 from DanielaE/feature/replace-removed-c++98-stuff
Conditionally replace deprecated/removed C++98 function adapters and …
2017-06-30 12:42:59 +01:00
morinmorin 69409ed63a Make boost::distance traversal-category-aware (and constexpr in C++14) 2017-06-30 20:02:53 +09:00
Daniela Engert 23e5801e2a Conditionally replace deprecated/removed C++98 function adapters and std::random_shuffle by equivalents.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-05-05 14:15:11 +02:00
neilgroves 452b1bb7e7 Merge pull request #44 from apolukhin/develop
Added BOOST_CONSTEXPR for begin()/end()
2017-04-17 14:39:19 +01:00
Tim Wynants 7b89c747d6 Ticket 12754 - operator| overload for boost::range_details::replace_holder is not SFINEA friendly
include\boost\range\adaptor\replaced.hpp

Make sure that the overload resolution doesn't choke on the value type factory when its considers the overload
2017-01-12 17:45:31 +01:00
Eric Niebler f829c55c72 Merge pull request #47 from boostorg/fix-boost-size_type
Don't assume that because type `T` is a range that `const T` is also a range.
2016-11-23 14:54:26 -08:00
Eric Niebler 67c18ac1f1 Merge remote-tracking branch 'origin/master' into develop 2016-11-18 21:28:24 -08:00
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
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
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