Skip to content

Commit

Permalink
Update paper
Browse files Browse the repository at this point in the history
  • Loading branch information
vitaut committed Apr 14, 2024
1 parent f4d9442 commit 36b6b51
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 8 deletions.
17 changes: 13 additions & 4 deletions papers/p3235.bs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ Date: 2024-04-13
Markup Shorthands: markdown yes
</pre>

<p style="text-align: right">
"A common mistake that people make when trying to design something completely
foolproof is to underestimate the ingenuity of complete fools."
― Douglas Adams
</p>

Introduction {#intro}
============

Expand All @@ -22,6 +28,9 @@ important optimization to other standard types.
Proposal {#proposal}
========

<!-- TODO: motivate summarizing the benefits of P3107 and possibly mention that this
is a follow-up requested in LEWG discussion -->

Here is a list of standard formatters that are not yet opted into the
`std::print` optimization.

Expand Down Expand Up @@ -156,11 +165,11 @@ https://eel.is/c++draft/queue.syn)]:
struct formatter<stack<T, Container>, charT>;
```

TODO: look into ranges (locking iterator) and custom Container, Compare.

TODO: motivation?
Range and container adaptor formatters are the most interesting case because
formatting requires iterating and user-defined iterators can potentially be
locking.

TODO: mention that this is a follow-up requested in LEWG discussion
TODO: check existing concurrent containers

<pre class=biblio>
{
Expand Down
12 changes: 8 additions & 4 deletions papers/p3235.html
Original file line number Diff line number Diff line change
Expand Up @@ -1563,7 +1563,7 @@
</style>
<meta content="Bikeshed version 4416b18d5, updated Tue Jan 2 15:52:39 2024 -0800" name="generator">
<link href="https://isocpp.org/favicon.ico" rel="icon">
<meta content="cf4b57887429c4fa6444d1652e70fe7c2aa9d8b1" name="revision">
<meta content="f4d944279c43baba24123058f6c290cfaa3810a0" name="revision">
<style>/* Boilerplate: style-autolinks */
.css.css, .property.property, .descriptor.descriptor {
color: var(--a-normal-text);
Expand Down Expand Up @@ -2114,6 +2114,9 @@ <h2 class="no-num no-toc no-ref" id="contents">Table of Contents</h2>
</ol>
</nav>
<main>
<p style="text-align: right"> "A common mistake that people make when trying to design something completely
foolproof is to underestimate the ingenuity of complete fools."
― Douglas Adams </p>
<h2 class="heading settled" data-level="1" id="intro"><span class="secno">1. </span><span class="content">Introduction</span><a class="self-link" href="#intro"></a></h2>
<p><a data-link-type="biblio" href="#biblio-p3107" title="Permit an efficient implementation of std::print">[P3107]</a> enabled an efficient implementation of <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>print</c-></code> and applied the
optimization to fundamental and string types. The current paper applies this
Expand Down Expand Up @@ -2212,9 +2215,10 @@ <h2 class="heading settled" data-level="2" id="proposal"><span class="secno">2.
<c- k>template</c-><c- o>&lt;</c-><c- k>class</c-> <c- nc>charT</c-><c- p>,</c-> <c- k>class</c-> <c- nc>T</c-><c- p>,</c-> <c- n>formattable</c-><c- o>&lt;</c-><c- n>charT</c-><c- o>></c-> <c- n>Container</c-><c- o>></c->
<c- k>struct</c-> <c- nc>formatter</c-><c- o>&lt;</c-><c- n>stack</c-><c- o>&lt;</c-><c- n>T</c-><c- p>,</c-> <c- n>Container</c-><c- o>></c-><c- p>,</c-> <c- n>charT</c-><c- o>></c-><c- p>;</c->
</pre>
<p>TODO: look into ranges (locking iterator) and custom Container, Compare.</p>
<p>TODO: motivation?</p>
<p>TODO: mention that this is a follow-up requested in LEWG discussion</p>
<p>Range and container adaptor formatters are the most interesting case because
formatting requires iterating and user-defined iterators can potentially be
locking.</p>
<p>TODO: check existing concurrent containers</p>
</main>
<script>
(function() {
Expand Down

0 comments on commit 36b6b51

Please sign in to comment.