19 Commits

Author SHA1 Message Date
Zach Laine
df9e186bd6 Add a new v3 namespace, containing a new iterator_interface based on deducing
this instead of CRTP.
2023-06-05 00:12:54 -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
51c212234e Use iterator_category_base with the C++20 version of iterator_interface. 2023-03-25 21:33:34 -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
Glen Fernandes
e161785105 Switch to Boost.Core's lightweight_test 2020-05-01 21:50:02 -05:00
Zach Laine
6fba2d57f6 Add missing #include to test. 2020-02-08 11:41:53 -06:00
Zach Laine
9111d81885 Remove the v2 namespace, including the C++20 standard lib- and cmcstl2-based
implementations.

Fixes #27.
2020-01-03 15:24:30 -06:00
Zach Laine
f735c78fb8 GTest -> Boost.Test
Fixes #24.
2020-01-01 18:23:06 -06:00
Zach Laine
0086bdf8ef Address all of the remaining v2::iterator_interface-related TODOs. 2019-08-20 00:05:55 -05:00
Zach Laine
67f5ea9072 Add v2_random_access test; fix errors. 2019-08-20 00:05:55 -05:00
Zach Laine
97ca350172 Rename the library stl_interfaces; iterator_facade.hpp ->
iterator_interface.hpp.
2019-08-12 18:09:37 -05:00
Zach Laine
a259a08cea prev() and next() -> operator++() and operator()-- in user operations 2019-08-12 18:09:31 -05:00
Zach Laine
52fbe123de Add postincrement testing to input and output tests. 2019-08-12 18:09:02 -05:00
Zach Laine
8af27e0ce4 Reimplement all of iterator_facade, rename it iterator_interface. 2019-08-12 00:35:20 -05:00
Zach Laine
c0e571d034 Add static_assert macros, use them in the tests and examples, and add docs for
them.
2019-08-10 18:34:21 -05:00
Zach Laine
ac033389b9 Turns out default constructibility is required for all iterator concepts. 2019-08-10 10:30:10 -05:00
Zach Laine
cf10db8d17 Add Boost docs outline. 2019-08-08 17:21:42 -05:00
Zach Laine
41d3c619e8 Add copyright headers to sources. 2019-08-04 15:55:41 -05:00
Zach Laine
abc0ed7013 Add facade specialization for output iterators, with test. 2019-08-04 09:00:07 -05:00