Commit Graph

120 Commits

Author SHA1 Message Date
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
452b1bb7e7 Merge pull request #44 from apolukhin/develop
Added BOOST_CONSTEXPR for begin()/end()
2017-04-17 14:39:19 +01:00
Eric Niebler
67c18ac1f1 Merge remote-tracking branch 'origin/master' into develop 2016-11-18 21:28:24 -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
Antony Polukhin
4ce15f9b52 Added BOOST_CONSTEXPR for begin()/end() 2016-01-24 22:51:19 +03: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
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
Neil Groves
7669f52547 Merge branch 'develop' 2015-04-21 08:22:15 +01: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
2356783e17 Merge branch 'develop'
Conflicts:
	include/boost/range/detail/any_iterator.hpp
	test/iterator_range.cpp
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
neilgroves
dcbe4f9365 Merge pull request #21 from Lastique/patch-1
Use public interface of Boost.Iterator
2015-01-25 19:15:31 +00:00
levinmk
1965b797d8 fix ticket #10754
as described in https://svn.boost.org/trac/boost/ticket/10754, postfix_increment_proxy and writable_postfix_increment_proxy were moved to boost::iterators::detail namespace
2014-12-12 16:43:32 -06:00
Stephen Kelly
8bb3a85f68 Use local sfinae typedefs for yes_type and no_type.
Remove dependency on Boost.Algorithm library.
2014-09-10 15:37:48 +02:00
Stephen Kelly
0e9a9e613b Rely on the 'typename' keyword from the compiler.
Remove trailing whitespace from modified lines.

 git grep -l BOOST_STRING_TYPENAME | xargs sed -i 's|BOOST_STRING_TYPENAME *$|typename|'
 git grep -l BOOST_STRING_TYPENAME | xargs sed -i 's|BOOST_STRING_TYPENAME \(.*\) +$|typename \1|'
 git grep -l BOOST_STRING_TYPENAME | xargs sed -i 's|BOOST_STRING_TYPENAME|typename|'

Remove include of header from Boost.Algorithm library providing the define.
2014-09-10 15:37:45 +02:00
Andrey Semashev
4617c43b5e Use public interface of Boost.Iterator 2014-08-30 16:04:46 +04:00
Eric Niebler
1617a513d2 accomodate new boost::iterators namespace. See boostorg/iterator@dc96d371fa 2014-07-29 18:18:02 -07:00
Neil Groves
0ffe40272a Merge branch 'develop' - to incorporate the MSVC workaround for range_iterator by Eric Niebler. 2014-07-15 10:32:55 +01:00
Eric Niebler
d6dd1ad193 work-around for msvc limitation that causes has_iterator<> to fail for structs named iterator. Only applies to msvc-10.0 and earlier. 2014-07-14 00:03:45 -07:00
Neil Groves
e33c501c05 Merge branch 'develop' - small fixes in addition to a more major fix for adaptors
producing iterators that did not have default constructors.
2014-06-16 22:51:08 +01:00
Neil Groves
3ecf600434 Fixed range adaptors that were creating underlying iterators that were not default constructible. 2014-06-16 14:49:25 +01:00
Kohei Takahashi
61e02039dd More remove execute attribute from files.
rel. to:
  e0e6fefb1e

Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-16 20:28:02 +09:00
neilgroves
a0dad84a13 Merge pull request #10 from apolukhin/develop
Replaced deprecated cast.hpp with polymorphic_cast.hpp. Droped dependenc...
2014-06-16 10:40:18 +01:00
Eric Niebler
264017e2a9 more robust implementation for BOOST_RANGE_EXTRACT_OPTIONAL_TYPE 2014-06-16 00:00:09 -07:00
Antony Polukhin
5ba77001dd Replaced deprecated cast.hpp with polymorphic_cast.hpp. Droped dependency to the Numeric library 2014-06-09 13:21:24 +04:00
Neil Groves
36bb8a82fb Merge branch 'develop' to incorporate fixes from trac tickets. 2014-06-04 18:37:36 +01:00
Neil Groves
ec3c98bc25 any_iterator now compiles without RTTI. 2014-05-07 00:13:09 +01:00
Kohei Takahashi
35595211b6 Fix using deprecated macro
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-04-21 01:14:09 +09:00
Neil Groves
fa629a53bd Merge branch 'develop' 2014-03-12 03:43:36 +00:00
Neil Groves
edb81e828b fully quality boost::enable_if since msvc namespaces dont work. 2014-03-10 19:01:24 +00:00
Neil Groves
2f71c4b69b Merge branch 'develop' 2014-03-09 07:33:34 +00:00
Neil Groves
3ed0626756 ticket 8028 - combine reimplemented and now documented. 2014-03-08 20:52:10 +00:00
Neil Groves
59f39e5d7f merge branch develop 2014-03-04 13:51:43 +00:00
Neil Groves
c9b96f2c88 trac 7376 - join iterator reference type. 2014-03-03 15:43:05 +00:00
Neil Groves
79d2a66831 trac 5816 - fix any_range requiring copyable elements. 2014-03-02 15:35:50 +00:00
Neil Groves
259e917eaf trac_8693 const cast warn 2014-02-26 22:02:27 +00:00
Neil Groves
2a065b2420 trac_6732 join_iterator.hpp unused variable warn. 2014-02-26 21:40:39 +00:00
Neil Groves
ceffd1cf79 strided adaptor rewritten to correct defects and optimise performance. 2014-02-26 21:17:29 +00:00
Stephen Kelly
2d78bde327 Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Process #ifndef...#else...#endif blocks.

[SVN r86245]
2013-12-30 04:55:51 -05:00
Stephen Kelly
946d451d03 Remove obsolete files.
[SVN r86242]
2013-12-30 04:55:43 -05:00
Stephen Kelly
d1aea63c2f Remove obsolete MSVC check from pragma guard
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
2013-12-30 04:55:32 -05:00
Stephen Kelly
ebbfe65595 Range: Remove obsolete MSVC version checks.
[SVN r85915]
2013-12-30 04:55:12 -05:00
Neil Groves
e7880d8963 [boost][range] - changed join_iterator reference type handling to address several user observations and failing clang builds.
[SVN r85691]
2013-12-30 04:53:24 -05:00
Tim Blechmann
6f0ab4a8be range: silence some warnings
[SVN r85584]
2013-12-30 04:52:56 -05:00
Nathan Ridge
4c28983459 [range] Fixed a bug in join_iterator where joining a const range and a non-const range led to a compiler error (refs #8483).
[SVN r85400]
2013-12-30 04:52:48 -05:00
Stephen Kelly
b02c60e468 Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Process #ifndef...#else...#endif blocks.

[SVN r86245]
2013-10-11 23:17:48 +00:00
Stephen Kelly
c55650216f Remove obsolete files.
[SVN r86242]
2013-10-11 23:11:35 +00:00
Stephen Kelly
4f34d95156 Remove obsolete MSVC check from pragma guard
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
2013-09-26 13:02:51 +00:00
Stephen Kelly
650b75d2d7 Range: Remove obsolete MSVC version checks.
[SVN r85915]
2013-09-25 21:13:39 +00:00