12 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
53448edcdc Add full v2 namespace (C++20) implementation. When building in C++20 mode,
including with __cpp_lib_concepts defined, the v2 namespace is inlined.
Otherwise, the v1 namespace is inlined.  This allows switching to
concept-constrained templates without changing any user code.
2020-08-02 00:11:55 -05:00
Zach Laine
6d31433af0 Add a metafunciton iter_concept, which matches the behavior of C++20's
ITER_CONCEPT, and use it to fix errors when compiling in C++20 mode.
2020-07-09 16:54:05 -05:00
Zach Laine
fcfcdd7d89 Doc spell-checking. 2019-08-23 00:07:07 -05:00
Zach Laine
c6e79cf3a7 Add test for reverse_iterator. 2019-08-14 19:51:07 -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
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
b7fea24984 Finish the reverse_iterator example. 2019-08-10 17:20:19 -05:00
Zach Laine
5671fa0f73 Enable the examples in the docs; copy editing therein. 2019-08-10 10:41:53 -05:00
Zach Laine
a415c05877 Sketch in most of the doc examples. 2019-08-10 10:30:10 -05:00