Skip to content

Commit

Permalink
📝Add notes for transcode_view steps later
Browse files Browse the repository at this point in the history
  • Loading branch information
ThePhD committed Mar 20, 2021
1 parent 963c137 commit b2425d6
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions documentation/source/future.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,6 @@ This is where the status and progress of the library will be kept up to date. Yo



Document Conversion
-------------------

Conversion routines need to be documented, alongside their extension points. They're not yet documented because it's currently a toss up between plain ol' ADL vs. tag-invoke. We'll probably invent a tag-invoke based solution, to prevent random functions from catching on. This also means we wouldn't need to prefix all extension points with C-style naming (currently, it's ``text_foo`` or ``ztd_text_foo``).



Copyable State
--------------

Expand All @@ -51,6 +44,18 @@ Right now, all state parameters are assumed to be move-only. This is detrimental



Transcoding Iterators/Transcode View
------------------------------------

Right now these types would not work especially well for input and output ranges. They should be modified just like the internal ``ztd::text::__txt_detail::__encoding_iterator`` class types, so that they work with ``input_iterator`` and ``output_iterator`` types.

- ☐ Improve constructor delegation and make sure to explicitly implement default construction vs. letting it happen with ``=default`` (which does not work for some of the base types present).
- ☐ Modify implementation to cache data and position when an input or output iterator is detected.
- ☐ Return ``const value_type&`` for ``reference`` to enable C++20 ranges to work properly.
- ☐ Mark as ``enable_borrowed_range`` when C++20 is detected.



Normalization
-------------

Expand Down

0 comments on commit b2425d6

Please sign in to comment.