Topic: Editorial change proposal in 12.8/2


Author: "James Kanze" <james.kanze@gmail.com>
Date: Fri, 1 Dec 2006 17:47:21 CST
Raw View
Alberto Ganesh Barbati wrote:
> Seungbeom Kim ha scritto:
> > Alberto Ganesh Barbati wrote:
> >> As I said in my first post, I think the subject/predicate inversion is
> >> very unfortunate from a logical point of view and should not be kept.

> > As I pointed in comp.lang.c++.moderated   ,
> > I think the current wording is acceptable, if not perfect.

> Acceptable, yes. Perfect, absolutely not and I already explained why I
> think so.

> Anyway, Pete Becker has the final word on editorial changes and has
> already expressed negatively. I respect his role and decision, although
> I disagree on his rationale.

I think it's largely a matter of priorities.  There's only so
much Pete, or any other member of the committee, can get done.
And while I'm not happy with the present wording either, I can
recognize that there are more important issues that also have to
be addressed.

In practice, wording gets changed in two cases: the current
wording is simply unaccepable, or other changes in the standard
mean that the wording at that place has to be reworked anyway.
I'm sure that if something comes up which means that Pete has to
rework the wording here anyway, he'll keep our suggestions in
mind.  Until then, of course... there are whole chapters which
have to be written from scratch, like threading, garbage
collection, and who knows what all else.  It's not like Pete has
extra time on his hands to consider every little nit.

--
James Kanze (Gabi Software)            email: james.kanze@gmail.com
Conseils en informatique orient   e objet/
                   Beratung in objektorientierter Datenverarbeitung
9 place S   mard, 78210 St.-Cyr-l'   cole, France, +33 (0)1 30 23 00 34


---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: Gennaro Prota <geunnaro_prouta@yahoo.com>
Date: Sat, 2 Dec 2006 10:27:26 CST
Raw View
On Fri,  1 Dec 2006 17:47:21 CST, James Kanze wrote:

>Alberto Ganesh Barbati wrote:
>
>> Anyway, Pete Becker has the final word on editorial changes and has
>> already expressed negatively. I respect his role and decision, although
>> I disagree on his rationale.
>
>I think it's largely a matter of priorities.  There's only so
>much Pete, or any other member of the committee, can get done.
>And while I'm not happy with the present wording either, I can
>recognize that there are more important issues that also have to
>be addressed.

I don't know why you felt the need to comment on this. In any case,
one thing is having priorities, another thing is being impolite. FWIW,
just consider the issues added in revision 44 of the core list. Would
you consider them high-priority? Issue 600, just to mention one, is
just a nitpick on wording that everyone understands. Still, they are
there (and mine or yours or Alberto's could be there as well, if we
wanted to).

>[...] Until then, of course... there are whole chapters which
>have to be written from scratch, like threading, garbage
>collection, and who knows what all else.  It's not like Pete has
>extra time on his hands to consider every little nit.

It's not like we have time to waste either.

--
Gennaro Prota.    C++ developer. For hire.
(to mail me, remove any 'u' from the address)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: geunnaro_prouta@yahoo.com (Gennaro Prota)
Date: Wed, 29 Nov 2006 00:14:49 GMT
Raw View
On Tue, 28 Nov 2006 19:45:46 GMT, Pete Becker wrote:

>> I know that in Portland a fair amount of core and library issues have
>> been voted into the WP. Defect report submissions on this group,
>> however, are being regularly ignored. For long time.
>
>Please don't confuse "the committee" with "the moderators of this
>newsgroup." The moderators are responsible for forwarding issues to the
>standards committee.

Ok. But what I notice is that even if committee members, including
you, are around they remain completely silent about such facts. A
couple of times I've pointed out, to you, that some of my DR
submissions missed the 'forwarded to the C++ committee' note, even
though there seemed to be consensus that they were worth forwarding.
No reply. In this very thread I say that the wording which Alberto
suggests fixes an "if" vs. "if and only if" problem (not something I'd
consider of secondary importance). You didn't reply. And I could
continue the list. In the end, the impression one gets from this other
side is that many members are simply bored by (some of) our
submissions.

--
Gennaro Prota.    C++ developer. For hire.
(to mail me, remove any 'u' from the address)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: musiphil@bawi.org (Seungbeom Kim)
Date: Wed, 29 Nov 2006 00:45:03 GMT
Raw View
Alberto Ganesh Barbati wrote:
> As I said in my first post, I think the subject/predicate inversion is
> very unfortunate from a logical point of view and should not be kept.

As I pointed in comp.lang.c++.moderated=B9,
I think the current wording is acceptable, if not perfect.

(If something significantly better comes up, then why not, of course..)

=B9 At
<http://groups.google.com/group/comp.lang.c++.moderated/msg/afcb8c7bff143=
eca>,
I wrote:
> the word "copy" in 12.8/2 is written in italics, which implies AFAIK
> that the term is being defined there. In a definition, the term means
> exactly what is described and nothing else: e.g. in the sentence "A
> natural number is a /prime number/ if its only natural number divisors
> are 1 and itself." it is clear that a non-natural number cannot be a
> prime number. Therefore, it can be argued that only a non-template
> constructor can be a copy constructor.=20

--=20
Seungbeom Kim

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: pete@versatilecoding.com (Pete Becker)
Date: Wed, 29 Nov 2006 04:09:59 GMT
Raw View
Gennaro Prota wrote:
> On Tue, 28 Nov 2006 19:45:46 GMT, Pete Becker wrote:
>
>>> I know that in Portland a fair amount of core and library issues have
>>> been voted into the WP. Defect report submissions on this group,
>>> however, are being regularly ignored. For long time.
>> Please don't confuse "the committee" with "the moderators of this
>> newsgroup." The moderators are responsible for forwarding issues to the
>> standards committee.
>
> Ok. But what I notice is that even if committee members, including
> you, are around they remain completely silent about such facts. A
> couple of times I've pointed out, to you, that some of my DR
> submissions missed the 'forwarded to the C++ committee' note, even
> though there seemed to be consensus that they were worth forwarding.
> No reply.

 From me? No. I'm not a moderator.

> In this very thread I say that the wording which Alberto
> suggests fixes an "if" vs. "if and only if" problem (not something I'd
> consider of secondary importance). You didn't reply. And I could
> continue the list. In the end, the impression one gets from this other
> side is that many members are simply bored by (some of) our
> submissions.
>

That impression may well be right.

--

 -- Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com)
Author of "The Standard C++ Library Extensions: a Tutorial and
Reference." (www.petebecker.com/tr1book)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: geunnaro_prouta@yahoo.com (Gennaro Prota)
Date: Thu, 30 Nov 2006 17:24:43 GMT
Raw View
On Wed, 29 Nov 2006 04:09:59 GMT, Pete Becker wrote:

>Gennaro Prota wrote:
>> A couple of times I've pointed out, to you, that some of my DR
>> submissions missed the 'forwarded to the C++ committee' note, even
>> though there seemed to be consensus that they were worth forwarding.
>> No reply.
>
> From me? No. I'm not a moderator.

It has happened, in the past, that non-moderator members have replied
with something like "you're right, I'll open a core/library issue on
this".

>> In this very thread I say that the wording which Alberto
>> suggests fixes an "if" vs. "if and only if" problem (not something I'd
>> consider of secondary importance). You didn't reply. And I could
>> continue the list. In the end, the impression one gets from this other
>> side is that many members are simply bored by (some of) our
>> submissions.
>>
>
>That impression may well be right.

It's not a problem. We won't waste our time if the effort isn't
appreciated. As far as I'm concerned, I'll be much happier to
contribute to Wikipedia.

--
Gennaro Prota.    C++ developer. For hire.
(to mail me, remove any 'u' from the address)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: Alberto Ganesh Barbati <AlbertoBarbati@libero.it>
Date: Fri, 1 Dec 2006 00:48:05 CST
Raw View
Seungbeom Kim ha scritto:
> Alberto Ganesh Barbati wrote:
>> As I said in my first post, I think the subject/predicate inversion is
>> very unfortunate from a logical point of view and should not be kept.
>
> As I pointed in comp.lang.c++.moderated   ,
> I think the current wording is acceptable, if not perfect.
>

Acceptable, yes. Perfect, absolutely not and I already explained why I
think so.

Anyway, Pete Becker has the final word on editorial changes and has
already expressed negatively. I respect his role and decision, although
I disagree on his rationale. As pointed out by Gennaro Prota, opening a
formal defect report for such a minor thing would be futile, at this
advanced stage of the works towards the next C++, so I don't think this
issue is worth discussing anymore. Maybe for C++1x.

Ganesh

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: musiphil@bawi.org (Seungbeom Kim)
Date: Mon, 27 Nov 2006 05:15:37 GMT
Raw View
Alberto Ganesh Barbati wrote:

> The full 12.8/2 statement could then read something like: "A /copy
> constructor/ for class X is a non-template constructor of class X whose
> first parameter is of type X&, const X&, volatile X& or const volatile
> X&, and either there are no other parameters or else all other
> parameters have default arguments (8.3.6).109)"

The statement is fine until the word "and", but how does the sentence
after that ("either ... or else ...") connect to the previous part
through "whose"?

--
Seungbeom Kim

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: alfps@start.no ("Alf P. Steinbach")
Date: Mon, 27 Nov 2006 05:51:54 GMT
Raw View
* Seungbeom Kim:
> Alberto Ganesh Barbati wrote:
>
>> The full 12.8/2 statement could then read something like: "A /copy
>> constructor/ for class X is a non-template constructor of class X whose
>> first parameter is of type X&, const X&, volatile X& or const volatile
>> X&, and either there are no other parameters or else all other
>> parameters have default arguments (8.3.6).109)"
>
> The statement is fine until the word "and", but how does the sentence
> after that ("either ... or else ...") connect to the previous part
> through "whose"?

Adopt the wording from the definition of default constructor, "that can
be called with exactly one argument".

Both more consistent and more concise.

--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: geunnaro_prouta@yahoo.com (Gennaro Prota)
Date: Mon, 27 Nov 2006 17:23:05 GMT
Raw View
On Mon, 27 Nov 2006 05:51:54 GMT, "Alf P. Steinbach" wrote:

>* Seungbeom Kim:
>> The statement is fine until the word "and", but how does the sentence
>> after that ("either ... or else ...") connect to the previous part
>> through "whose"?
>
>Adopt the wording from the definition of default constructor, "that can
>be called with exactly one argument".
>
>Both more consistent and more concise.

I'd bet that all this will totally ignored by the committee. Let us
remember that with all the rush that MS is pushing on them, there are
*only* two other meetings to finalize C++09.

--
Gennaro Prota.    For hire.
(to mail me, remove any 'u' from the address)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: AlbertoBarbati@libero.it (Alberto Ganesh Barbati)
Date: Mon, 27 Nov 2006 18:08:34 GMT
Raw View
Alf P. Steinbach ha scritto:
> * Seungbeom Kim:
>> Alberto Ganesh Barbati wrote:
>>
>>> The full 12.8/2 statement could then read something like: "A /copy
>>> constructor/ for class X is a non-template constructor of class X whose
>>> first parameter is of type X&, const X&, volatile X& or const volatile
>>> X&, and either there are no other parameters or else all other
>>> parameters have default arguments (8.3.6).109)"
>>
>> The statement is fine until the word "and", but how does the sentence
>> after that ("either ... or else ...") connect to the previous part
>> through "whose"?

Just changing "there are" with "it has" should do the job. Anyway, I
don't think the change is really necessary: it's unambiguous that "there
are" means "(in the constructor parameter list) there are". But I admit
English is not my mother tongue.

> Adopt the wording from the definition of default constructor, "that can
> be called with exactly one argument".
>
> Both more consistent and more concise.
>

That could be another possibility. The only problem I see is that
requirements about the type of the parameters are not clearly
expressible in terms of the type of the arguments. Do you have a full
sentence in mind we could use?

Ganesh

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: AlbertoBarbati@libero.it (Alberto Ganesh Barbati)
Date: Mon, 27 Nov 2006 21:38:10 GMT
Raw View
Gennaro Prota ha scritto:
> On Mon, 27 Nov 2006 05:51:54 GMT, "Alf P. Steinbach" wrote:
>
>> * Seungbeom Kim:
>>> The statement is fine until the word "and", but how does the sentence
>>> after that ("either ... or else ...") connect to the previous part
>>> through "whose"?
>> Adopt the wording from the definition of default constructor, "that can
>> be called with exactly one argument".
>>
>> Both more consistent and more concise.
>
> I'd bet that all this will totally ignored by the committee. Let us
> remember that with all the rush that MS is pushing on them, there are
> *only* two other meetings to finalize C++09.
>

Thanks for your support. I am very aware that it may be so, but I think
it's worth a try. Anyway, that's the reason why I proposed an "editorial
change" and not posted a "defect report". If I understand it correctly,
an editorial change does not need to be discussed in a formal meeting to
be accepted. However, I admit that I don't know who decides whether a
change is "editorial" and what are the criteria. That's why I am
carefully weighting the words and trying to change as less as possible,
in order to have more chances that it might possibly qualify.

Ganesh

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: Pete Becker <pete@versatilecoding.com>
Date: Mon, 27 Nov 2006 16:28:49 CST
Raw View
Alberto Ganesh Barbati wrote:
>
> If I understand it correctly,
> an editorial change does not need to be discussed in a formal meeting to
> be accepted. However, I admit that I don't know who decides whether a
> change is "editorial" and what are the criteria.

The editor (that's me) decides what's an editorial change. The criteria are:

     1. it's a change in presentation only,
        not affecting technical requirements

     2. there is a significant problem with the current wording,
        and the change will make the presentation significantly
        better

Changing any wording runs the risk of making people think that something
significant has changed. While some of the suggested rewordings might be
slightly better, there's not enough of a problem to justify changing
text that's been in the standard for many years.

--

 -- Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com)
Author of "The Standard C++ Library Extensions: a Tutorial and
Reference." (www.petebecker.com/tr1book)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: geunnaro_prouta@yahoo.com (Gennaro Prota)
Date: Tue, 28 Nov 2006 00:42:55 GMT
Raw View
On Mon, 27 Nov 2006 16:28:49 CST, Pete Becker wrote:

>Changing any wording runs the risk of making people think that something
>significant has changed. While some of the suggested rewordings might be
>slightly better, there's not enough of a problem to justify changing
>text that's been in the standard for many years.

Let me say that they are not *slightly* better. The current wording
--like many other places in the standard-- uses "if" where "if and
only if" (or a "real" definition of a term in terms of others) would
be required. That's a significant problem.

--
Gennaro Prota.    C++ developer. For hire.
(to mail me, remove any 'u' from the address)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: geunnaro_prouta@yahoo.com (Gennaro Prota)
Date: Tue, 28 Nov 2006 01:04:06 GMT
Raw View
On Mon, 27 Nov 2006 21:38:10 GMT, Alberto Ganesh Barbati wrote:

>Gennaro Prota ha scritto:
>
>> I'd bet that all this will [be] totally ignored by the committee. Let us
>> remember that with all the rush that MS is pushing on them, there are
>> *only* two other meetings to finalize C++09.
>>
>
>Thanks for your support.

Don't get me wrong. I'm always in favour of improvements. That's why I
feel quite frustrated by the current situation. You may notice that
the committee is so absorbed by its work that practically every defect
report, or even suggestion, is more or less ignored at the moment.

--
Gennaro Prota.    For hire.
(to mail me, remove any 'u' from the address)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: pete@versatilecoding.com (Pete Becker)
Date: Tue, 28 Nov 2006 15:42:55 GMT
Raw View
Gennaro Prota wrote:
>
> You may notice that
> the committee is so absorbed by its work that practically every defect
> report, or even suggestion, is more or less ignored at the moment.
>

I could have sworn we worked on a bunch of them at the Portland meeting.
I must have been hallucinating.

--

 -- Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com)
Author of "The Standard C++ Library Extensions: a Tutorial and
Reference." (www.petebecker.com/tr1book)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: geunnaro_prouta@yahoo.com (Gennaro Prota)
Date: Tue, 28 Nov 2006 18:52:59 GMT
Raw View
On Tue, 28 Nov 2006 15:42:55 GMT, Pete Becker wrote:

>Gennaro Prota wrote:
>>
>> You may notice that
>> the committee is so absorbed by its work that practically every defect
>> report, or even suggestion, is more or less ignored at the moment.
>>
>
>I could have sworn we worked on a bunch of them at the Portland meeting.
>I must have been hallucinating.

I know that in Portland a fair amount of core and library issues have
been voted into the WP. Defect report submissions on this group,
however, are being regularly ignored. For long time.

Personally I've given up.

--
Gennaro Prota.    C++ developer. For hire.
(to mail me, remove any 'u' from the address)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: pete@versatilecoding.com (Pete Becker)
Date: Tue, 28 Nov 2006 19:45:46 GMT
Raw View
Gennaro Prota wrote:
> On Tue, 28 Nov 2006 15:42:55 GMT, Pete Becker wrote:
>
>> Gennaro Prota wrote:
>>> You may notice that
>>> the committee is so absorbed by its work that practically every defect
>>> report, or even suggestion, is more or less ignored at the moment.
>>>
>> I could have sworn we worked on a bunch of them at the Portland meeting.
>> I must have been hallucinating.
>
> I know that in Portland a fair amount of core and library issues have
> been voted into the WP. Defect report submissions on this group,
> however, are being regularly ignored. For long time.

Please don't confuse "the committee" with "the moderators of this
newsgroup." The moderators are responsible for forwarding issues to the
standards committee.

--

 -- Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com)
Author of "The Standard C++ Library Extensions: a Tutorial and
Reference." (www.petebecker.com/tr1book)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: "Greg Herlihy" <greghe@pacbell.net>
Date: Fri, 24 Nov 2006 15:11:02 CST
Raw View
Alberto Ganesh Barbati wrote:
> Hi Everybody,
>
> >From the most recent draft:
>
> 12.8/2: A non-template constructor for class X is a copy constructor if
> [...].
>
> 12.8/9: A user-declared copy assignment operator X::operator= is a
> non-static non-template member function of class X with [...].
>
> There was recently a discussion on comp.lang.c++.moderated where the
> first statement was criticized because of the unfortunate logical
> construction of the phrase. The second statement does not suffer such
> objection. I propose to reword 12.8/2 with the same construction as
> 12.8/9, that is:
>
> 12.8/2: A user-declared copy constructor for class X is a non-template
> constructor of class X with [...].

The phrase "user-declared" should be removed from the definition of the
copy assigment operator - not added to the definition of a copy
constructor. As the usage of both terms makes clear: neither a "copy
constructor" nor a "copy assignment operator" needs to be
user-declared.

Greg

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: AlbertoBarbati@libero.it (Alberto Ganesh Barbati)
Date: Sat, 25 Nov 2006 04:36:06 GMT
Raw View
Seungbeom Kim ha scritto:
> Alberto Ganesh Barbati wrote:
>> >From the most recent draft:
>>
>> 12.8/2: A non-template constructor for class X is a copy constructor if
>> [...].
>>
>> 12.8/9: A user-declared copy assignment operator X::operator= is a
>> non-static non-template member function of class X with [...].
>>
>> There was recently a discussion on comp.lang.c++.moderated where the
>> first statement was criticized because of the unfortunate logical
>> construction of the phrase. The second statement does not suffer such
>> objection. I propose to reword 12.8/2 with the same construction as
>> 12.8/9, that is:
>>
>> 12.8/2: A user-declared copy constructor for class X is a non-template
>> constructor of class X with [...].
>
> A copy constructor according to the definition from 12.8/2 doesn't have
> to be user-declared, so your new wording is more restrictive. And what
> do you propose in place of [...]?

Also Greg Herlihy seems to find the term "user-declared" out of place
and probably you are both right. I agree with Greg that it's better to
remove "user-declared" from 12.8/9 instead of adding it to 12.8/2. This
is more consistent with both 12.8/4: "If the class definition does not
explicitly declare a copy constructor, one is declared implicitly" and
12.8/10: "If the class definition does not explicitly declare a copy
assignment operator, one is declared implicitly.

The full 12.8/2 statement could then read something like: "A /copy
constructor/ for class X is a non-template constructor of class X whose
first parameter is of type X&, const X&, volatile X& or const volatile
X&, and either there are no other parameters or else all other
parameters have default arguments (8.3.6).109)"

> 12.8/2 reads: "A non-template constructor for class X is a /copy/
> constructor if its first parameter is of type X&, const X&, volatile X&
> or const volatile X&, and either there are no other parameters or else
> all other parameters have default arguments (8.3.6)."
>
> I had also thought of a better wording, but it's not as simple as it
> first appears to be. Perhaps it's almost as good as it can be, only if
> we put /copy constructor/ (not just /copy/) in italics.

As I said in my first post, I think the subject/predicate inversion is
very unfortunate from a logical point of view and should not be kept. I
believe my proposal above is a reasonable replacement that maintains the
intended meaning without changing too many words. In fact, except for
reordering, only the word "if" was replaced with "whose" (besides, the
construction with "whose" is used both in footnote 109 and in paragraph 5).

About italics, I strongly agree. It's the term "copy constructor" that
is being defined, not "copy". The same objection applies to 12.8/9 also,
where "copy assignment operator" and not just "copy" should be italicized.

In fact, now that I read 12.8/9 more closely, it seems that it could use
some minor rewording too. What about: "A /copy assignment operator/ for
class X is a non-static non-template member function X::operator= with
exactly one parameter of type X, X&, const X&, volatile X& or const
volatile X&."

Ganesh

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: AlbertoBarbati@libero.it (Alberto Ganesh Barbati)
Date: Thu, 23 Nov 2006 18:59:23 GMT
Raw View
Hi Everybody,

>From the most recent draft:

12.8/2: A non-template constructor for class X is a copy constructor if
[...].

12.8/9: A user-declared copy assignment operator X::operator= is a
non-static non-template member function of class X with [...].

There was recently a discussion on comp.lang.c++.moderated where the
first statement was criticized because of the unfortunate logical
construction of the phrase. The second statement does not suffer such
objection. I propose to reword 12.8/2 with the same construction as
12.8/9, that is:

12.8/2: A user-declared copy constructor for class X is a non-template
constructor of class X with [...].

Just my 2 eurocent,

Ganesh

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: Seungbeom Kim <musiphil@bawi.org>
Date: Fri, 24 Nov 2006 12:39:37 CST
Raw View
Alberto Ganesh Barbati wrote:
>
>>From the most recent draft:
>
> 12.8/2: A non-template constructor for class X is a copy constructor if
> [...].
>
> 12.8/9: A user-declared copy assignment operator X::operator= is a
> non-static non-template member function of class X with [...].
>
> There was recently a discussion on comp.lang.c++.moderated where the
> first statement was criticized because of the unfortunate logical
> construction of the phrase. The second statement does not suffer such
> objection. I propose to reword 12.8/2 with the same construction as
> 12.8/9, that is:
>
> 12.8/2: A user-declared copy constructor for class X is a non-template
> constructor of class X with [...].

A copy constructor according to the definition from 12.8/2 doesn't have
to be user-declared, so your new wording is more restrictive. And what
do you propose in place of [...]?

12.8/2 reads: "A non-template constructor for class X is a /copy/
constructor if its first parameter is of type X&, const X&, volatile X&
or const volatile X&, and either there are no other parameters or else
all other parameters have default arguments (8.3.6)."

I had also thought of a better wording, but it's not as simple as it
first appears to be. Perhaps it's almost as good as it can be, only if
we put /copy constructor/ (not just /copy/) in italics.

--
Seungbeom Kim

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]