Subject: Re: [boost] [uuid] Interface
From: David Abrahams (dave_at_[hidden])
Date: 2008-12-22 18:18:21
on Fri Dec 19 2008, "Vladimir Batov" <batov-AT-people.net.au> wrote:
> It seems I did it again. :--( Just noticed that I misread the following excerpt of
> Scott's email. Apologies and corrections further below.
>>> Take, for example, a map<string, uuid>. No default constructor means
>>> that you can't use operator,
> First, my preference is to *have* the default constructor -- we disagree on its
> behavior as I'd like the default constructor to *be part* of the constructors family
> (constructing a valid object) and you insist on the default constructor being an
I think the terminology "valid object" is misleading here. A NULL
pointer is valid. An uninitialized pointer is... marginally valid. I
don't think anyone is suggesting that uuid() should produce an object
that can only be assigned to or destroyed.
> The latter is not how the language interprets the default constructor.
I can't imagine what you mean by that.
> Therefore, me not happy. IMHO that deviation of the meaning from the
> letter of the language is unacceptible.
> Second, even if I cannot use operator, so what? std::fstream has no default
> constructor. std::list has no operator, std::vector has no push_front(). That did
> not stop anyone from using those classes. What the lack of those
Do you really mean to imply that push_front, operator, et. al. are not
-- Dave Abrahams BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk