Closed steve-downey closed 1 month ago
clang-format added by mistake?
clang-format added by mistake?
I'll double check, but I think this one is probably dealing with formatting for papers and the standard, which has some tradeoffs made decades ago, and has to deal with narrow margins.
Superseded by #70
Update the paper for optional<T&> based on the updates to Optional26. Reorganize optional26 so that the header and class synopsis in the standard can be quoted mostly unmodified from the tested code. This involves moving the definitions of functions out of line from the class declaration and pulling std:: functions into scope via using declarations, as well as making sure non standard proposed helpers are in a detail namespace. In the paper itself, the synopsis and definitions are slightly modified to indicate exposition only members and types, changing some explicit and throw specifications to see-below, and moving the expression to the function definition, and, since is quite old at this point, rendering requires clauses in declarations as constraint clauses in text.
Also add two new "top level" papers that only produce the before and after changes for the wording, in order to simplify cross checking differences for review, and to later produce a better change request for the draft standard, in addition to the edit instructions in the paper.
This also adds a partial specialization for optional<T&&> which is nearly identical to optional<T&> and would be even more so if all optional specializations used optional::value_type throughout its definition where that is the actual intent.