New core language papers adopted for C++17

Note: The following new core language papers (among other already-posted ones) were approved on Saturday at the end of last week's ISO C++ meeting for the C++ working paper

New WG21 papers are available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

N4259: Wording for std::uncaught_exceptions (Herb Sutter)

N4261: Proposed resolution for Core Issue 330: Qualification conversions and pointers to arrays of pointers (Jens Maurer)

N4262: Wording for Forwarding References (Herb Sutter, Bjarne Stroustrup, Gabriel Dos Reis)

N4266: Attributes for namespaces and enumerators (Richard Smith)

N4267: Adding u8 character literals (Richard Smith)

N4268: Allow constant evaluation for all non-type template arguments (Richard Smith)

N4285: Cleanup for exception-specification and throw-expression (Jens Maurer)

N4295: Folding expressions (Andrew Sutton, Richard Smith)

Add a Comment

Comments are closed.

Comments (1)

0 0

Yun Chen said on Nov 11, 2014 10:19 PM:

It looks like the example in N4295 is backwards.

template<typename... Args>
bool all(Args... args) { return (args && ...); }

bool b = all(true, true, true, false);

So it is a unary right fold and should expand to:

true && (true && (true && false )) instead of

((true && true) && true) && false

Did I get it wrong?