
On Fri, Dec 26, 2008 at 06:00, Vladimir Batov <batov@people.net.au> wrote:
In fact, all that POD/non-POD "fight" seems to be a storm in a cup. The Standard (draft dated 2008-10-04) revised and refined definitions of POD. Now POD is a "trivial class/type" (section 9). I feel though that all the perks Adam and Scott have been mentioning are not restricted to the trivial types (PODs) but extend on to "trivially copyable types" as well which Andy's uuid seems to be the perfect example of.
Fair enough. #ifndef BOOST_NO_CPP0X constexpr uuid() : data_() {} #endif That said, std::array in the draft is still an aggregate, not a "trivial class/type", which makes me think there's still a reason to use aggregates. Would construction from an initializer list be sufficient to meet the requirements for constant initialization in [basic.start.init]?