Zach Laine
0f422d58cb
Fix typo in adaptor::op() (f/f_ confusion).
boost-1.86.0.beta1
boost-1.86.0
boost-1.85.0.beta1
boost-1.85.0
2024-01-22 01:34:07 -06:00
Zach Laine
1c050d2df5
Add an rvalue-qualified overload of closure::operator(). This makes
...
forwarding work properly in cases such as r | foo(std::string("foo")), where
foo is an adaptor. Without this, the std::string temporary dangles.
2024-01-21 15:26:41 -06:00
Zach Laine
510eb431fb
Fixes #63 .
2023-09-05 21:02:51 -05:00
Zach Laine
1f7fb19002
Change the __GNUC__ >= 11 && __GNUC_MINOR__ >= 3 expression in one of the
...
tests to __GNUC__ == 11 && ...; the workaround is not needed for GCC 12.
2023-09-05 21:01:17 -05:00
Zach Laine
df9e186bd6
Add a new v3 namespace, containing a new iterator_interface based on deducing
...
this instead of CRTP.
boost-1.83.0
boost-1.84.0.beta1
boost-1.84.0
boost-1.83.0.beta1
2023-06-05 00:12:54 -05:00
Zach Laine
6ee9557df9
Fix errors on MSVC.
2023-06-04 19:05:28 -05:00
Zach Laine
85e07407ab
Update the OSX test runner image and XCode version.
2023-05-29 22:52:00 -05:00
Zach Laine
d61867d8be
GCC 13 reports as ill-formed code that evaluates a concept C more than once
...
with the same template parameters, when the value of C changes between the
evaluations. This is correct, but no other implementation checks this. Move
all the hidden friends out of the v2::iterator_interface to fix these kinds of
errors.
2023-05-29 15:21:37 -05:00
Zach Laine
cb96522275
detail::sub -> detail::iter_sub; make iter_sub a bit more robust.
2023-05-03 20:06:56 -05:00
Zach Laine
46c82966a6
Fix sign confusion in iterator_interface::op<=>.
2023-05-03 20:06:17 -05:00
Zach Laine
c022029c27
In C++20 and later, return void from operator++(int), for input_iterators.
...
This matches the requirements of the std::input_iterator concept. This is not
done in earlier C++ versions, because it completely breaks use of input
iterators with the standard algorithms.
2023-05-02 20:31:02 -05:00
Zach Laine
21e03e7013
Use the given iterator_concept, but only define iterator_category when
...
appropriate to do so. Appropriateness follows the algorithm for zip_view's
iterator. See https://eel.is/c++draft/range.zip.transform.iterator#1 .
Requested by LEWG reviewers of iterator_interface.
2023-05-02 20:31:02 -05:00
Zach Laine
86aeeb1bb5
Add support for operator<=> comparisons of iterator_interfaces.
2023-03-29 18:55:25 -05:00
Zach Laine
965b1119cb
Disable iterator_interface::operator-> when pointer is void or reference is
...
not a language reference.
2023-03-26 14:14:11 -05:00
Zach Laine
51c212234e
Use iterator_category_base with the C++20 version of iterator_interface.
2023-03-25 21:33:34 -05:00
Zach Laine
558548fa8a
Add detail::iterator_category_base.
2023-03-25 18:01:42 -05:00
Zach Laine
a823593710
Add simple check of nested typedefs in iterators deriving from a
...
dependently-typed iterator_interface.
2023-01-31 21:50:37 -06:00
Zach Laine
8390819a70
Print message when cloning Boost.
2022-12-06 05:29:01 -06:00
Zach Laine
8c8f7905a1
Set the CXX_STANDARD CMake property on the compile tests.
2022-12-05 21:09:36 -06:00
Zach Laine
158fca0b6b
Make the compile_sfinae_path_mutable_iterator compile-test 14-friendly.
2022-12-05 20:29:46 -06:00
Zach Laine
c157b1637a
Add a test to cover #59 so that it does not pop up again.
...
Fixes #60 .
2022-12-05 20:11:03 -06:00
Zach Laine
7dd2b97589
Cruft removal.
2022-11-19 22:26:03 -06:00
Zach Laine
1dc2923434
Add non-const overloads of op* and op-> to v1 iterator_interface. This
...
matches more closely what v2 does.
Fixes #59 .
boost-1.82.0.beta1
boost-1.82.0
boost-1.81.0
2022-11-18 19:54:40 -06:00
Zach Laine
24f9450297
Doc copy editing.
boost-1.80.0
boost-1.81.0.beta1
boost-1.80.0.beta1
2022-06-04 20:06:33 -05:00
Zach Laine
bd21cd308e
Add some user/std mixed cases to view_adaptor.cpp.
2022-06-04 19:52:51 -05:00
Zach Laine
544c7448b4
Add a discussion of why it is sometimes necessary to use bind_back() directly.
2022-06-04 17:17:41 -05:00
Zach Laine
303a9da254
Create tutorial for the new range adaptor helpers.
2022-06-04 17:17:41 -05:00
Zach Laine
c6d7fa15fa
Break take_view out into its own header, in example/.
2022-06-04 16:10:02 -05:00
Zach Laine
808cbfac15
Break reverse_view out into its own header, in example/.
2022-06-04 16:10:02 -05:00
Zach Laine
19a2729a15
Break all_view out into its own header, in example/.
2022-06-04 16:10:02 -05:00
Zach Laine
6a64d48840
Require an actual std::ranges::view for take_view and reverse_view; take_view
...
template parameter R -> View.
2022-06-04 16:10:02 -05:00
Zach Laine
6fa878de2f
Update crufty bits of README, and remove Travis and Appveyor config files.
2022-06-04 16:10:02 -05:00
Zach Laine
437c188167
Consistently use BOOST_STL_INTERFACES_USE_CONCEPTS as the preprocessor
...
predicate to guard test code, instead of the hodgepodge that was used
previously.
2022-06-04 16:10:02 -05:00
Zach Laine
14c3741aaf
Expand the view_adaptor test; fix errors.
2022-06-03 23:00:19 -05:00
Zach Laine
6a080f84cb
Add very simple initial test of view_adaptor; fix errors.
2022-06-03 21:27:20 -05:00
Zach Laine
410e865acd
Add view_adaptor.hpp and its associated detail/ headers.
2022-06-03 17:47:19 -05:00
Zach Laine
f84cb723e1
Cruft removal.
2022-05-18 03:51:36 -05:00
Zach Laine
f108c2dd4e
Require __cpp_lib_concepts and __cpp_lib_ranges in order to enable
...
BOOST_STL_INTERFACES_USE_CONCEPTS.
2022-05-17 22:33:46 -05:00
Zach Laine
537f62e9b2
Don't use derived() in concept constraints. This fixes VS2022 in
...
C++20 mode.
2022-05-17 18:09:59 -05:00
Zach Laine
6514451f06
Fix doc typo.
2022-05-08 12:10:28 -05:00
sdarwin
37e420670b
Update GitHub Actions CI file
2021-12-08 20:18:13 -06:00
Zach Laine
80ae39ed94
Re-enable testing of contiguos iterator .data() member in random_access.cpp
...
when __cpp_lib_concepts is defined, for the GCC versions that support this.
2021-12-08 19:33:42 -06:00
Zach Laine
ea719c8bf8
Add missing typename.
...
Fixes #53 .
2021-12-08 19:13:58 -06:00
Jan Bouwer
ccecfa5652
Return derived() from operator--() in iterator_interface.
...
Previously, this returned the underlying adapted iterator.
Fixes #50 .
2021-12-08 19:03:30 -06:00
sdarwin
fbde58f203
Update metadata
2021-12-08 18:49:37 -06:00
sdarwin
920a64cea3
Add GitHub Actions config [ci skip]
2021-06-07 21:00:34 -05:00
sdarwin
caa69728b7
add drone config [ci skip]
2021-06-07 21:00:26 -05:00
Zach Laine
89840c0531
Revert "Add GCC 10 to Travis build."
...
This reverts commit 8e7e0390de .
boost-1.78.0.beta1
boost-1.79.0.beta1
boost-1.79.0
boost-1.78.0
boost-1.77.0.beta1
boost-1.77.0
2021-06-06 17:38:06 -05:00
Zach Laine
8e7e0390de
Add GCC 10 to Travis build.
2021-06-06 14:45:10 -05:00
Zach Laine
cd1fd465f3
Don't use a member function on the trailing return type of operator+=() and
...
operator++() in iterator_interface; use the equivalent hand-written code
instead. Addresses #50 on older Clang.
2021-06-06 13:43:08 -05:00