Boost logo

Boost :

Subject: Re: [boost] [UUID] Code for UUIDs as PODs and other changes
From: Vladimir Batov (batov_at_[hidden])
Date: 2008-12-07 02:55:14


Scott,

Many thanks for your crash-course on aggregates and your patence with me. Much and truly appreciated. I had to dig the Standard up for a "refreshment". It's embarassing but I admit I all forgot about that "C" stuff tucked away in a corner of C++. I never thought I'd come across it ever again.

Kudos to you for your effort. I am coming to appreciate your implementation. It's very impressive how efficiently you managed to cut off "all the excess" and how far you've got without C++ "perks and whistles". I am sure it had its uses. That said, I feel aggregates' limitations are far too restrictive for a full-fledged implementation (and especially the interface).

Best,
Vladimir.

> ...
> It comes from making it a POD, as all PODs are also aggregates.
>
> 8.5.1 Aggregates [dcl.init.aggr]
>
> An aggregate is an array or a class (clause 9) with no user-declared
> constructors (12.1), no private or protected non-static data members
> (clause 11), no base classes (clause 10), and no virtual functions
> (10.3). When an aggregate is initialized the initializer can contain
> an initializer-clause consisting of a brace-enclosed, comma-separated
> list of initializer-clauses for the members of the aggregate, written
> in increasing subscript or member order. If the aggregate contains
> subaggregates, this rule applies recursively to the members of the
> subaggregate.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk