Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-03-21 12:16:49


It seems to me that some things are missing. For example, shouldn't the
element_type typedef be mentioned in the common requirements? I also
imagine that things like operator->() could be mentioned there.

Also, in the following sentence, we appear to have the implicit
assumption that a class template is instantiated "all at once", whereas
(as I understand things) that's seldom the case:

"T may be an incomplete type at the point of smart pointer declaration.
Unless otherwise specified, it is required that T be a complete type at
points of smart pointer instantiation"

Don't we mean to say that T is required to be complete at the point
where its destructor is needed (which is the instantiation point of the
smart pointer constructor in the case of shared_ptr).

Also, I think that talking about "time" instead of "points" in the
sentence below is a bit confusing.

Note that scoped_ptr requires that T be a complete type at destruction
time, but shared_ptr does not.

Thanks for listening,
Dave

+---------------------------------------------------------------+
                  David Abrahams
      C++ Booster (http://www.boost.org) O__ ==
      Pythonista (http://www.python.org) c/ /'_ ==
  resume: http://users.rcn.com/abrahams/resume.html (*) \(*) ==
          email: david.abrahams_at_[hidden]
+---------------------------------------------------------------+


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