45 Commits

Author SHA1 Message Date
Laurent Rineau
2d20447488 fix a typo 2025-02-16 12:47:45 -06:00
Zach Laine
e0ff7f6c80 Convertible to bool -> void in sequence container swap() requirements.
Fixes #71.
2024-10-21 18:11:36 -05:00
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
24f9450297 Doc copy editing. 2022-06-04 20:06:33 -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
f59442e35f Actually explain what proxy iterators are before showing how to use
iterator_interface to make one.

Fixes #39.
2020-06-23 21:47:51 -05:00
Zach Laine
fab86ff224 Add front matter to the sequence_container_interface docs explaining what the
standard's container requirements table are; add references to online
documentation of these and other standard-isms alluded to in the docs.

Fixes #23.
Fixes #33.
2020-01-08 13:32:57 -06:00
Zach Laine
2bd28d9b6d Remove incorrect references to operator{==,<} being user-defined for
sequence_container_interface.

Fixes #11.
2020-01-08 13:32:57 -06:00
Zach Laine
f89c8a4e5b Provide section headings for sequence_container_interface's tables.
Fixes #10.
2020-01-08 13:32:57 -06:00
Zach Laine
81ad5462d1 Typo fixes. 2020-01-08 12:57:13 -06:00
Zach Laine
32a6f27abd Address some missed sequence_container_interface renames. 2020-01-08 12:57:13 -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
9121eea229 Remove resize() from sequence_container_interface. 2020-01-03 15:22:20 -06:00
Zach Laine
9414d1a010 Add perf note about proxy_arrow_result to docs.
Fixes #30.
2020-01-01 18:33:58 -06:00
Zach Laine
e55bb9ffdb Make element_type an enum class; bool Contiguous -> element_type Contiguity in {view,container}_interface.
Fixes #14.
2020-01-01 13:32:31 -06:00
Zach Laine
f0dc49747f Remove boneheaded attempt to provide container dtors via container_interface.
Fixes #12.
2020-01-01 13:32:23 -06:00
Zach Laine
c63c107793 Add copyright notices to some files that were missing it.
Fixes #26.
2019-12-29 14:04:14 -06:00
Zach Laine
c47f91507e Change iterator-interface's operator!= always to use operator==. 2019-12-03 23:50:55 -06:00
Zach Laine
d645a1cb60 Add a note about how op==/op!= may be suboptimal for random access iterators
over discontiguous sequences.
2019-11-27 21:57:04 -06:00
Zach Laine
9c2f077592 Add explanation of missing allocator-aware functionality to the rationale; add
a note to tutorial that using container_interface does not preclude satisfying
more requirements tables.
2019-11-13 00:26:05 -06:00
Zach Laine
dde567a947 If/It confusion in docs. 2019-09-19 18:33:25 -05:00
Zach Laine
fcfcdd7d89 Doc spell-checking. 2019-08-23 00:07:07 -05:00
Zach Laine
bf4dbd42ed Doc typo. 2019-08-22 20:31:48 -05:00
Zach Laine
0f8136764d Doc typo. 2019-08-22 19:22:31 -05:00
Zach Laine
2168fc8948 Document the existence of v2, and v1 vs. v2 differences. 2019-08-22 17:26:49 -05:00
Zach Laine
b051cfee6a Add provision of operator== and operator< to container_interface. 2019-08-22 00:48:58 -05:00
Zach Laine
df8b9b30d6 Extend rationale. Misc. doc tweaks. 2019-08-17 12:16:50 -05:00
Zach Laine
8492a519c2 Emphasize emplace() semantics, and explicitly note in each tutorial that the
user can intentionally hide *_interface-provided operations.
2019-08-17 11:27:45 -05:00
Zach Laine
37d421f20e Doc copy editing. 2019-08-16 22:12:03 -05:00
Zach Laine
27cd6092fc Add numerous illformedness-verifying static_asserts on operations that one of the interface templates should not provide for a given instantiation. 2019-08-16 20:17:02 -05:00
Zach Laine
8e0fa30eab Extend the container_interface docs. 2019-08-16 20:17:02 -05:00
Zach Laine
5328878b97 Doc typos. 2019-08-15 22:32:51 -05:00
Zach Laine
bbc7480991 Extend the static_vector/container_interface docs. 2019-08-15 22:09:02 -05:00
Zach Laine
1f7b6b886b Round out view_interface docs. 2019-08-13 22:59:09 -05:00
Zach Laine
0be3e26c6b Document the new adaptor-like behavior. 2019-08-13 22:28:53 -05:00
Zach Laine
67f5a45fa2 Extend the drop_while_view example and associated docs. 2019-08-13 00:08:42 -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
ac033389b9 Turns out default constructibility is required for all iterator concepts. 2019-08-10 10:30:10 -05:00
Zach Laine
e4cfa2aa64 Docs copy editing. 2019-08-10 09:58:11 -05:00
Zach Laine
7bb5f26535 Add example/node_iterator.cpp; address remaining TODOs in tutoral.qbk. 2019-08-10 09:33:45 -05:00
Zach Laine
6e30792b30 - Add an outline of the Boost docs.
- Add example/repeated_chars_iterator.cpp
- IteratorCategory -> IteratorConcept
- detail::arrow -> proxy_arrow_result
- Doxygen comment for each iterator_facade specialization.
2019-08-08 22:40:19 -05:00