Created on 1999-07-26.00:00:00 last changed 184 months ago
[ Tokyo: The LWG crafted the proposed resolution. ]
[ Kona: The LWG agreed there was a defect. ]
Proposed resolution:
In [function.objects] paragraph 1, remove the sentence:
They are important for the effective use of the library.
Remove [function.objects] paragraph 2, which reads:
Using function objects together with function templates increases the expressive power of the library as well as making the resulting code much more efficient.
In [function.objects] paragraph 4, remove the sentence:
The corresponding functions will inline the addition and the negation.
Paragraph 4 of [function.objects] says:
[Example: To negate every element of a: transform(a.begin(), a.end(), a.begin(), negate<double>()); The corresponding functions will inline the addition and the negation. end example]
(Note: The "addition" referred to in the above is in para 3) we can find no other wording, except this (non-normative) example which suggests that any "inlining" will take place in this case.
Indeed both:
17.4.4.3 Global Functions [lib.global.functions] 1 It is unspecified whether any global functions in the C++ Standard Library are defined as inline (7.1.2).
and
17.4.4.4 Member Functions [lib.member.functions] 1 It is unspecified whether any member functions in the C++ Standard Library are defined as inline (7.1.2).
take care to state that this may indeed NOT be the case.
Thus the example "mandates" behavior that is explicitly not required elsewhere.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2010-10-21 18:28:33 | admin | set | messages: + msg1792 |
| 2010-10-21 18:28:33 | admin | set | messages: + msg1791 |
| 2010-10-21 18:28:33 | admin | set | messages: + msg1790 |
| 1999-07-26 00:00:00 | admin | create | |