Title
tr1::bind has lost its Throws clause
Status
cd1
Section
[func.bind.bind][tr.func.bind.bind]
Submitter
Peter Dimov

Created on 2005-10-01.00:00:00 last changed 171 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

In [func.bind.bind], add a new paragraph after p2:

Throws: Nothing unless the copy constructor of F or of one of the types in the BoundArgs... pack expansion throws an exception.

In [func.bind.bind], add a new paragraph after p4:

Throws: Nothing unless the copy constructor of F or of one of the types in the BoundArgs... pack expansion throws an exception.

Date: 2010-10-21.18:28:33

[ Pre-Bellevue: Alisdair provided wording. ]

TR1 proposed resolution:

In [tr.func.bind.bind], add a new paragraph after p2:

Throws: Nothing unless one of the copy constructors of f, t1, t2, ..., tN throws an exception.

Add a new paragraph after p4:

Throws: nothing unless one of the copy constructors of f, t1, t2, ..., tN throws an exception.

Date: 2010-10-21.18:28:33

[ Toronto: We agree but aren't quite happy with the wording. The "t"'s no longer refer to anything. Alan to provide improved wording. ]

Date: 2010-10-21.18:28:33

[ Batavia: Doug to translate wording to variadic templates. ]

Date: 2010-10-21.18:28:33

[ Berlin: not quite editorial, needs proposed wording. ]

Date: 2005-10-01.00:00:00

The original bind proposal gives the guarantee that tr1::bind(f, t1, ..., tN) does not throw when the copy constructors of f, t1, ..., tN don't.

This guarantee is not present in the final version of TR1.

I'm pretty certain that we never removed it on purpose. Editorial omission? :-)

History
Date User Action Args
2010-10-21 18:28:33adminsetmessages: + msg2953
2010-10-21 18:28:33adminsetmessages: + msg2952
2010-10-21 18:28:33adminsetmessages: + msg2951
2010-10-21 18:28:33adminsetmessages: + msg2950
2010-10-21 18:28:33adminsetmessages: + msg2949
2005-10-01 00:00:00admincreate