[ Date Prev][ Date Next][ Thread Prev][ Thread Next][ Date Index][ Thread Index]
Re: [cxx-abi-dev] What is a POD? TC1 or first C++ Standard
- To: Dennis Handly <dhandly@xxxxxxxxxx>
- Subject: Re: [cxx-abi-dev] What is a POD? TC1 or first C++ Standard
- From: Nathan Sidwell <nathan@xxxxxxxxxxxxxxxx>
- Date: Fri, 24 Sep 2004 09:17:57 +0100
Dennis Handly wrote:
From: Gabriel Dos Reis <gdr@xxxxxxxxxxx>
And it would appear to users very counter-intuitive and confusing if
pointer-to-members were treated very differently from other PODs.
I wouldn't think so. It was there in black and white saying they are
not PODs, 9(4). ;-)
Probably because they are not available in C.
I was the submitter of DR 148, responsible for this change. I pointed
out that pointers-to-members themselves were PODs [3.9]/10, but a structure
containing that particular POD would be non-POD. That was inconsistent.
ah, found it. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#148
148. POD classes and pointers to members
Section: 9 class Status: TC1 Submitter: Nathan Sidwell Date: 31 Jul 1999
3.9 basic.types paragraph 10 defines pointer to member types to be scalar types.
It also defines scalar types to be one of the POD types.
9 class paragraph 4 defines a POD struct as an aggregate class with no non-static
data members of type pointer to member.
It seems contradictory that a type can be POD, yet a class containing that type
is non-POD.
Suggested resolution: Alter 9 class paragraph 4 to allow pointer to member objects
as non-static data members of POD class.
Proposed resolution (10/00):
In 9 class paragraph 4, remove all occurrences of "pointer to member."
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
nathan@xxxxxxxxxxxxxxxx :: http://www.planetfall.pwp.blueyonder.co.uk
|