Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2001-09-04 15:18:41


At 09:46 AM 9/4/2001, Peter Dimov wrote:

>From: "Beman Dawes" <bdawes_at_[hidden]>
>> It seems to me that part of the point of boost::noncopyable is that
using
>> it should eliminate the need to document noncopyable semantics.
>
>I really don't know how to interpret this sentence. Of course it doesn't
>eliminate the need to document the fact that a class is noncopyable. It
>simply replaces one form of documentation:
>
>Class X is not copyable and not assignable.
>
>with another:
>
>class X: private boost::noncopyable
>
>I'd be interested to hear your reasons for preferring the second form of
>documentation.

The wording you gave for the first form isn't complete. What do "not
copyable" and "not assignable" mean? Are they defined anywhere? Unless
there is some very formalistic way of saying it, people will get it
wrong more often that if just referencing existing wording that someone
has labored over to make correct.

The second form is more precise.

That being said, perhaps we should defined a concept, NonCopyable, which
gives a precise definition. Then all that documentation would have to do
is say:

   Class X meets the NonCopyable requirements.

(With NonCopyable hyperlinked.) Then boost::noncopyable would be just one
possible way to implement the concept.

--Beman


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